dop2000's Forum Posts

  • See event #16 - when you click "Retry" button, the layout is restarted and lives reset to 5. This button is always in the center of the screen and you can click it even when the layer "level failed" is invisible. So you think you click "Next level", but you actually click "Retry".

  • Here is a demo I made for some other post:

    dropbox.com/s/qwodl1dwqeoisow/SwapSprites.capx

  • Try changing event #2 to "timecount<=55" and add another condition - "System trigger once while true".

  • TextBox has many problems. It's better to use Text object, you can make different colors with BBcode. If you need to allow players to type text, see this tutorial:

    scirra.com/tutorials/739/your-own-textbox

  • I think you need to use two objects - TextBox and List.

    In "TextBox On Text Changed" event you can refresh the list of items for the List. For example, if you keep these strings in an array, you need to clear the list, then loop through the array and check if

    lowercase(left(Array.At(loopindex), len(TextBox.text))) = lowercase(TextBox.text)

    If this expression is true, add this string to the list.

  • Preventing overlapping is not an easy task for objects moving with PathFinding. You can add units as obstacles for pathfinding, so that they will try to avoid each other. You will need to recalculate path often and it may not work very well if you have lots of units and narrow passages – they will get stuck, will try to find another path etc.

    Here is a very quick and dirty fix (see events 46-48), maybe you could improve it further:

    dropbox.com/s/t7pzh9tx2q2ep3j/tmp2.c3p

    Displaying the path is easy, just open the PathFinding demo project in C3.

  • WRS You need to switch Construct to English before making screenshots. Not many people here understand Russian :)

  • replace(Self.AnimationName, "_Bright", "")

    Or

    left(Self.AnimationName, len(Self.AnimationName)-7)

  • Start a different browser (where you are not logged into Dropbox) and try to open that link, you'll see if it's working. Spoiler alert - it's not :)

    You probably just have a mess with events. Try to organize your code better. Make sure that you don't have multiple conflicting events like "On start of layout" which are executed at the same time. Be careful with using "Reset global variables" action.. Learn how to debug - run the game in Debug mode to see what's going on. Use "Browser Log" and output important information (like variables values) in key events to see how they are changing etc. And I'm sure you'll be able to fix all these problems yourself.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Use Anchor behavior for UI objects.

    Usually you target one resolution (for example 1280x720) and one aspect ratio (in this case 16:9). You design the entire game for this resolution. On bigger screens everything will be automatically scaled up, on smaller screens - scaled down.

    To support different aspect ratios (for example 4:3), you need to use Anchor and make your backgrounds bigger. You might also need to make other adjustments with events, but this depends on the game.

  • Use Scale Outer, enable Unbounded scrolling on the layout, and make backgrounds about 20% bigger than the viewport size, tutorial:

    construct.net/en/tutorials/supporting-multiple-screen-sizes-77

    Demo:

    dropbox.com/s/vjyximq2059wbvt/ScaleOuter_demo.c3p

  • Well, simply don't reset lives variable when entering level 2.

  • There are several ways to do this, depends on the complexity of the game and your programming skills.

    1. You can do this with variables and layouts. Each location will be a separate layout and you can add an invisible object (sprite) LocationInfo with a bunch of instance variables, which will contain all the data required for this location. So, when player goes to a new location, on start of the layout you read variables from LocationInfo sprite and change music, display messages etc.

    2. You can store all the data in one of several text files, which can be in XML, JSON, CSV or your own format. When changing location, read the file for this location and load the data from it. Take a look at this post to see how it can be done with XML. Also, check out the tutorials section:

    construct.net/en/tutorials

    PS: Not all tutorials are good. This one demonstrates how text adventure games should not be made. Hard-coding everything in events is a bad practice and I don't recommend it.

  • 1st layout - why do you loop to array.height? I don't know your array structure, but it's usually array.width. Also, when you are loading multiple images into one sprite, you need to load them to different frames. Otherwise all sprite instances will have the same image. So you create a sprite, change its frame, and then load image.

    2nd layout - after you switch to another layout, "hm" sprite is no longer available. Even if you set it as Global, this layout doesn't know which sprite was tapped. So before changing layouts you need to save hm.Qname in a global variable and then on start of the second layout use that variable to request a file with AJAX.

    .

    You need to start using debugging tools. Run the game in Debug Mode, you will be able to see the array content, how many hm sprites are created, instance variables for these sprites etc.

    Also, use "Browser Log" to output debug messages. For example, after "AJAX request hm.Qname" add another action:

    Browser Log "Requesting filename: " & hm.Qname

    Then run the project, press F12, open Console and see what happens.