XHXIAIEIN's Forum Posts

  • You do not have permission to view this post

  • Editor suggestions:

    I think highlighting should be optional when the instanced object is selected. Allows only borders to be displayed, no fill color. Because it overwrites some of the colors, I have to stop and deselect when I'm doing something.

  • Timeline suggestions:

    When I click to 'Set keyframe(s)' button, but not at the 'Editing mode', automatically enter the editing mode and set keyframe

  • I made this template:

    Markdown_Dialogue_System

    cdn.discordapp.com/attachments/225550155531812865/989114414433194005/Markdown_Dialogue_System_v1.0.c3p

    Example

    Choice Branch

    #test
    Mia : Hello.
    Amy : Have you visited our company before?
    Mia : Yes, I was here two years ago.
    Amy : Would you like tea or coffee?
    (...100)
    [Tea](#test-tea)
    [Coffee](#test-coffee)
    
    #test-coffee
    Mia : Coffee, please. With milk.
    Amy: I am afraid we haven't got any milk. I'm very sorry.
    Mia: It doesn't matter.
    
    #test-tea
    Mia : Tea, please.
    Amy: Okay.
    

    Variable in String

    Mia: Hey, {name}. What are you doing?
    

    Condition in String

    #buy-fruit
    guy : Hi, {if gold >= 1000 ? "Rich Man!" : "{name}."} You have {gold} coin. {if gold >= 10 ? "Do you want to buy {if gold > 25 ? fruit1 : fruit2}?" }
    

    Call Function in String

    #show-me-the-money
    Starcraft:S\.H\.O\.W\.\.M\.E\.\.T\.H\.E\.\.M\.O\.N\.K\.~E\.Y\.
    callFunction("AddData, gold, 1000")
    
    
    :===========================================================
    : ■ CheatSheet
    :===========================================================
    : ○ Guide in Section
    : ----------------------------------------------------------
    : text name : text
    : choice [This is a choice.](#scenes)
    : wait (...300)
    : goto (#section)
    : function callFunction("ShakeScreen, 1, 0.25")
    : ----------------------------------------------------------
    : ○ Escapes in "Text" - "This is a *string* and {variable}."
    : ----------------------------------------------------------
    : variable {string}
    : bold *text*
    : delete text~~~~
    : newline \n
    : wait for 50 ms \.
    : wait for 250 ms \-
    : wait for 1,000 ms				\|
    : display directly $text$
    : ----------------------------------------------------------
    : ○ Branch in Text - {if condition ? True : False} 
    : ----------------------------------------------------------
    : condition | < | <= | > | >= | = | == | <> | != |
    : branch | number | variable | "string" | "This is a string and {variable}." | 
    : ..........................................................
    : branch only True {if condition ? True}
    : branch True & False {if condition ? True : False}
    : ..........................................................
    : compare number {if money >= 2000 ? "Rich Man!" : username}
    : compare variable {if condition != variable ? "text1" : "text2"}
    : compare "text" {if weather = "Cloudy" ? "It looks like rain."}
    : ----------------------------------------------------------
    : Note: Use `callfunction` set variable to make more branches.
    : Note: All variables from dictionary. equal to `dictionary.Get(variable)`
    :===========================================================
    
  • > -Typewriter effect with word wrapping (that does not move to the next line mid-word)

    FYI This is now built in to both the Text and SpriteFont objects in C3.

    When I was use C3 typewriter, it was too simple to meet my needs. If you can add some functions to him, it will make it more useful.

    Someone posted a suggestion:

    construct3-21h2.ideas.aha.io/ideas/C321H2-I-326

    ---

    - Action. [Pause/resume]

    I want to pause Typewriter when I typing a specific symbol (like .,?!;), wait a few time and resume. But it is currently impossible.

    - Action. [Set playback rate]

    When Typewriter is runing, I can press a key to speed up the typing. instead of directly finishing Typewriter.

    - Condition. [On Typed]

    I can play a sound when typing.

    - Expression. [LastTypewriterChar]

    I can know the last typed character or index.

  • I made this template:

    Markdown_Dialogue_System

    cdn.discordapp.com/attachments/225550155531812865/989114414433194005/Markdown_Dialogue_System_v1.0.c3p

    Example

    Choice Branch

    #test
    Mia : Hello.
    Amy : Have you visited our company before?
    Mia : Yes, I was here two years ago.
    Amy : Would you like tea or coffee?
    (...100)
    [Tea](#test-tea)
    [Coffee](#test-coffee)
    
    #test-coffee
    Mia : Coffee, please. With milk.
    Amy: I am afraid we haven't got any milk. I'm very sorry.
    Mia: It doesn't matter.
    
    #test-tea
    Mia : Tea, please.
    Amy: Okay.
    

    Variable in String

    Mia: Hey, {name}. What are you doing?
    

    Condition in String

    #buy-fruit
    guy : Hi, {if gold >= 1000 ? "Rich Man!" : "{name}."} You have {gold} coin. {if gold >= 10 ? "Do you want to buy {if gold > 25 ? fruit1 : fruit2}?" }
    

    Call Function in String

    #show-me-the-money
    Starcraft:S\.H\.O\.W\.\.M\.E\.\.T\.H\.E\.\.M\.O\.N\.K\.~E\.Y\.
    callFunction("AddData, gold, 1000")
    
    
    :===========================================================
    : ■ CheatSheet
    :===========================================================
    : ○ Guide in Section
    : ----------------------------------------------------------
    : text name : text
    : choice [This is a choice.](#scenes)
    : wait (...300)
    : goto (#section)
    : function callFunction("ShakeScreen, 1, 0.25")
    : ----------------------------------------------------------
    : ○ Escapes in "Text" - "This is a *string* and {variable}."
    : ----------------------------------------------------------
    : variable {string}
    : bold *text*
    : delete text~~~~
    : newline \n
    : wait for 50 ms \.
    : wait for 250 ms \-
    : wait for 1,000 ms				\|
    : display directly $text$
    : ----------------------------------------------------------
    : ○ Branch in Text - {if condition ? True : False} 
    : ----------------------------------------------------------
    : condition | < | <= | > | >= | = | == | <> | != |
    : branch | number | variable | "string" | "This is a string and {variable}." | 
    : ..........................................................
    : branch only True {if condition ? True}
    : branch True & False {if condition ? True : False}
    : ..........................................................
    : compare number {if money >= 2000 ? "Rich Man!" : username}
    : compare variable {if condition != variable ? "text1" : "text2"}
    : compare "text" {if weather = "Cloudy" ? "It looks like rain."}
    : ----------------------------------------------------------
    : Note: Use `callfunction` set variable to make more branches.
    : Note: All variables from dictionary. equal to `dictionary.Get(variable)`
    :===========================================================
    

    Since English is not my native language, there is no way for me to provide too many comments. If any brother can make a more beautiful case, it would be greatly appreciated.

  • I made this template:

    Markdown_Dialogue_System

    cdn.discordapp.com/attachments/225550155531812865/989114414433194005/Markdown_Dialogue_System_v1.0.c3p

    Example

    Choice Branch

    #test
    Mia : Hello.
    Amy : Have you visited our company before?
    Mia : Yes, I was here two years ago.
    Amy : Would you like tea or coffee?
    (...100)
    [Tea](#test-tea)
    [Coffee](#test-coffee)
    
    #test-coffee
    Mia : Coffee, please. With milk.
    Amy: I am afraid we haven't got any milk. I'm very sorry.
    Mia: It doesn't matter.
    
    #test-tea
    Mia : Tea, please.
    Amy: Okay.
    

    Variable in String

    Mia: Hey, {name}. What are you doing?
    

    Condition in String

    #buy-fruit
    guy : Hi, {if gold >= 1000 ? "Rich Man!" : "{name}."} You have {gold} coin. {if gold >= 10 ? "Do you want to buy {if gold > 25 ? fruit1 : fruit2}?" }
    

    Call Function in String

    #show-me-the-money
    Starcraft:S\.H\.O\.W\.\.M\.E\.\.T\.H\.E\.\.M\.O\.N\.K\.~E\.Y\.
    callFunction("AddData, gold, 1000")
    
    
    :===========================================================
    : ■ CheatSheet
    :===========================================================
    : ○ Guide in Section
    : ----------------------------------------------------------
    : text name : text
    : choice [This is a choice.](#scenes)
    : wait (...300)
    : goto (#section)
    : function callFunction("ShakeScreen, 1, 0.25")
    : ----------------------------------------------------------
    : ○ Escapes in "Text" - "This is a *string* and {variable}."
    : ----------------------------------------------------------
    : variable {string}
    : bold *text*
    : delete text~~~~
    : newline \n
    : wait for 50 ms \.
    : wait for 250 ms \-
    : wait for 1,000 ms				\|
    : display directly $text$
    : ----------------------------------------------------------
    : ○ Branch in Text - {if condition ? True : False} 
    : ----------------------------------------------------------
    : condition | < | <= | > | >= | = | == | <> | != |
    : branch | number | variable | "string" | "This is a string and {variable}." | 
    : ..........................................................
    : branch only True {if condition ? True}
    : branch True & False {if condition ? True : False}
    : ..........................................................
    : compare number {if money >= 2000 ? "Rich Man!" : username}
    : compare variable {if condition != variable ? "text1" : "text2"}
    : compare "text" {if weather = "Cloudy" ? "It looks like rain."}
    : ----------------------------------------------------------
    : Note: Use `callfunction` set variable to make more branches.
    : Note: All variables from dictionary. equal to `dictionary.Get(variable)`
    :===========================================================
    
  • should be allow to scaled from objects borders, as Photoshop, instead of 8 endpoints, which works great on some large objects. such as backgrounds, sky, textures.

    Because when you have a large object and then zoom the editor view big, you have a hard time finding the endpoints.

  • You can use 'Stylus' Chrome extension chrome.google.com/webstore/detail/stylus/clngdbkpkpeebahjckkjfobafhncgmne

    and create this style:

    .eventSheetView {
     font-family: "Cascadia Mono"
    }

    If you want to know more, you can refer to theme.css of c3-theme-sdk:

    /*
    	Note that when specifying colors in CSS variables, the color MUST be specified
    	in six-digit hex format (e.g. #FF0000). For any other CSS properties any kind of
    	syntax may be used, but CSS variables are read from JavaScript and require a
    	specific format to be used. Layout View colors can also use rgba() syntax.
    */
    
    body {
    	/* Adjust the window active and inactive caption colors to be green */
    	--window-caption-inactive-color: #008000;
    	--window-caption-active-color: #00A000;
    	
    	/* Other CSS variables available:
    	
    	--window-border-size				Width of resizable window/dialog borders - MUST be in 'px'
    	--window-thin-border-size			Width of non-resizable window/dialog borders - MUST be in 'px'
    	
    	--default-icon-color				Default color of icons in the UI
    	--project-item-icon-color			Color of project items, e.g. layout icon, event sheet icon
    	--effect-icon-color					Color of the 'fx' icon for effects
    	--family-overlay-icon-color			Color of overlay used on family icons
    	
    	--invert-icon-color					Event sheet invert cross icon color
    	
    	--default-layer-color				Initial color of a layer
    	
    	--c3logo-type: light;				Set to 'dark' to enable dark-background Construct 3 logos
    	*/
    }
    
    .eventSheetView {
    	/*
    	--event-sheet-background-color		Background color of the event sheet
    	*/
    }
    
    canvas.layoutView {
    	/*
    	Note: LayoutView CSS variables can also use rgba() syntax, rather than hex.
    	This is important for selection fill colors, which use the alpha component.
    	
    	--layoutview-border-color			Layout border color
    	--layoutview-margin-color			Background color of area outside layout
    	--layoutview-margin-edges-color		Color of edge of margin markers
    	
    	Colors of various select boxes outline and fill in the Layout View:
    	
    	--layoutview-select-box-fill-color
    	--layoutview-select-box-outline-color
    	--layoutview-container-box-fill-color
    	--layoutview-container-box-outline-color
    	--layoutview-wrap-fill-color
    	--layoutview-wrap-outline-color
    	--layoutview-resize-handle-fill-color
    	--layoutview-resize-handle-outline-color
    	
    	Other miscellaneous variables:
    	
    	--layoutview-viewport-dash-size		(in px)
    	--layoutview-collisionpoly-color
    	--layoutview-collisionpoly-width	(in px)
    	*/
    }
    
  • In fact, I would call 'Construct Animate' as 'Construct Lite', just like the way Starbucks markets its medium, large and extra-large cups. You know, CA is not aimed at professional game developers, but teachers who only need a small part of C3 for making interactive type videos or applications.Its functions are separated from the C3, but the price is less, and it is more conducive to marketing.That's why CA is not a dedicated plugin, but another product.

    I don't think it distracts from scirra because Construct Animate is mainly being developed by Diego. And Ashley has been focusing on C3 feature. so that he can keep 2 software updates going weekly. For now, updating CA is actually updating C3 Timeline, so it won't have any impact.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • CA suggestions:

    In the timeline toolbar, displayed current parameter and allowed to edit.

    I don't need to think for a few seconds what the X value is now, where can i edit it ? The eye only needs to focus on 1 place, instead of looking to the left, looking up, and looking at the canvas in the middle. Currently, my eyes have to look at 3 places at the same time.

    Also solved 1 problem, I can edit the value of X just need to check the properties of the timeline. Currently, I have to select the object before I can edit the properties.

    -----

    Off topic, I suddenly thought of a book 'Don't Make Me Think' by Steve Krug. recommended reading. may be helpful for the interactive experience of your design tool

  • Recommendation:

    Commission some professional animator to create some animation templates.

    For example, use them to make some story. It would be better if it could include some body movements, text dialogue, cutscenes, camera changes

    As they make it, let them provide editor feedback on their use. I think their experience will be more in line with expectations

  • Does probable it support translator use BBCode for custom alignment? For example, I can use [align=left|center|right]text[/align] to align text. Or it will only judge once at the beginning.

    For example

    [align=left]Well done for picking a powerful and easy-to-use game creation tool! Take a guided tour to start building your first game with step-by-step instructions. You won't believe how quick and easy it is![/align]

    [align=left]你好,年轻的冒险者!欢迎使用我们的游戏制作工具!如果你是第一次使用,可以参与 初学者入门引导 的教程。跟着我一步步尝试制作属于你的第一款游戏。感受一下它是多么友好,并且功能也非常强大![/align]

    Because Asian languages and English are read differently. In the Chinese, the experience of reading paragraph text with center wrapping is really bad. At this time, the best experience is to align left or justify.

    Of course, I guess you could say that when it detects that the user is using Asian language, use all left-aligned. No, it's bad. Because there are still many places that need to use the default center align, such as button, title, and some short text in one line. So, the translator knows best where to align left and where to use right.

    Keep whitespace exactly the same. Do not add whitespace where there is none in the English translation, and do not remove whitespace where it is used in English.

    For some dialog of the editor, currently do not support manual newline in some dialog. That Really need translator can wrap lines manually. This is still the problem, not so the reading experience of a paragraph in Chinese is very bad. They each paragraph requires at least 2 blank lines

    For example, currently 'about', 'welcome text', '2 hours break reminder’ not support manual line wrapping

  • CA suggestions:

    add a drop down option to the Play button to Play to the next keyframe.