dop2000's Forum Posts

  • Have you seen the "Pinball" example in C3? I think ball physics there is pretty good.

  • There's also an official example in C3:

    editor.construct.net

  • Not sure if I understand the problem, but can't you just use "Pick nearest Item" condition?

    Item on layer HUD
    Item pick nearest to (SelectionDevice.x, SelectionDevice.y)
    
  • I guess you can use two tilemaps layered at an offset:

    Manually editing them will of course be a difficult job, you might need to create your own editing tool.

    Another option is to use sprites for tiles, especially if you need elevation. I tried it in this game:

    construct.net/en/free-online-games/green-shadow-12599/play

    You can download the source project here.

  • Your post is missing an explanation of what your code is supposed to do.

  • You can use "Player On Landed" event with "Player is overlapping Button" condition.

  • Are there multiple instances of AlmightStuff object? Then you might need to put your events inside of "For Each AlmightStuff" loop.

    When you are using AlmightyStuff.SlotNumber in a condition, then only the first instance of AlmightStuff object is checked.

    There are easier ways to link objects in C3 - containers and hierarchies.

  • What you can do is place a tiledbackground object with 240x135 rectangular image on your layout. Set it invisible and lock in the editor, and use it as a grid.

  • Space width can be configured the same way as any other character width - either in Spacing Data in spritefont properties, or using "Set Character width" action.

    Here is a popular tool for making spritefonts:

    construct.net/en/forum/game-development/tools-and-resources-27/sprite-font-generator-v3-64038

    It outputs a text file with everything you need to configure a spritefont in C3.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Have you checked if your server receives any data? Maybe it doesn't give any response?

    You can also try "AJAX Request URL" action.

  • You can use the Array Editor - in Files folder create a new file with "array" type, and you will be able to create a 2D or even 3D array as a table, very similar to Excel.

    Then you will need to load this file into an Array object:

    + System: On start of layout
    -> AJAX: Request ArrayFile.json (tag "arr")
    -> System: Wait for previous actions to complete
    -> Array: Load from JSON string AJAX.LastData
    
  • The JSON structure is really complex, I don't understand what half of the keys there are for. Is there a way to disable features which you are not using, so that they are not added to JSON?

    I made a few changes in your file, nothing major, just to show how to access any dialogue and how to iterate the list of choices:

    dropbox.com/s/rlfmwvidshi4o8e/DogDialogueTestTake3.c3p

  • So yes, I'm going to have to do on each individual card spawn, change some variable, so it's going to be like 500 events.

    Why do you think it will be 500 events? Do you have each card as a separate object? Even then you can combine them into a family and use a single event:

    Cards On Created: Array push back value Cards.ID

    or something like that.

    However, if you are planning to use the array to store cards, then it should be the other way around - you create cards from the array:

    Array For Each X : Create Card; Card set ID to Array.curValue

  • Or more particularly, how do I do an array or dictionary without it being like 500 events long

    Depends on what do you need it for.

    There are plenty of tutorials and official examples in C3, for instance:

    editor.construct.net

  • There are a few ways to do this. Most common method is to use an array or a dictionary to store the data about cards.

    You can also set card sprites as Global, then they will be transferred to a new layout. But be very careful not to duplicate them. If you have 10 cards on one layout and 20 cards on another, you can end up with 30 cards!