dop2000's Forum Posts

  • Scene Graph (hierarchy) is what you are looking for.

    Create hierarchy connections between all objects in the layout editor. Select two or more objects, right-click on the parent and choose "Add selection to this instance"

    Then, when you need to spawn this composite object in runtime, create the parent object with "Create hierarchy=yes" option.

    If the object is already on the layout, you can move it anywhere and all child objects will move with it.

  • It's filling a 100x100 'grid' with tile '0' in this case.

    Yes, just filling the whole map with solid tiles. If your map is big, you can change the numbers to 10000x10000, it doesn't need to be the exact width and height.

    The next loop is looping for each tile on the obstacle tilemap. If your obstacle tilemap is 6400x3200 px, then the loop will run 100x50 times.

    It checks if each tile on the obstacle tilemap is overlapping the main tilemap. If it does, the tile on the obstacle tilemap is erased.

    My last question about it is the x on the layout drawn with the obstacle tile. Is that just for illustrative purposes?

    This is just for you to see that there is another tilemap in the layout editor.

  • It's right there in the first action on your screenshot - "offset 0,0 size 0,0"

    You need to specify the correct size and offset if you want to take a snapshot of a portion of the screen. Be aware that these values are in device pixels. You'll need to use CanvasDeviceWidth and CanvasDeviceHeight expressions of Platform Info object to convert to device pixels.

    Example:

    | Global number r‎ = 0
    + (no conditions)
    -> System: Set r to PlatformInfo.CanvasDeviceWidth÷ViewportWidth(0)
    -> System: Take snapshot of canvas (PNG, quality 75, offset 100×r, 100×r size 500×r x 300×r)
    
  • Here is a demo. It uses collision polygons in the main tilemap to automatically fill the collision map.

    dropbox.com/s/squgt33uyfuraer/AutoFill_collisionMap.c3p

  • You can edit collision polygons for each tile if you double-click it in the tilemap bar. However, this may not work for tiles which have walls on opposite sides, since it's not possible to have two polygons.

    I would use another (invisible) tilemap with 64x64 px tiles just for collisions. You can draw walls on it manually or fill it with an event.

    Check out this demo:

    howtoconstructdemos.com/using-an-invisible-tilemap-as-an-obstacle-map-for-pathfinding-capx

  • What you described is possible with Chadori's plugin for push notifications, part of the Construct Collection.

    constructcollection.com

  • If this doesn't help, please post a screenshot of your events, or your project file.

  • You need a server which will store the scores. It may be your own server with MySQL database, or some service like Firebase.

    Search the tutorials section, there are plenty of examples.

    construct.net/en/tutorials/search

  • Try downloading the plugin from this post:

    construct.net/en/forum/construct-3/plugin-sdk-10/erens-ported-plugins-modules-159391

    You can parse CSV files without the plugin, use tokencount() and tokenat() expressions.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Laurent So while one instance is moving, all other instances should wait? And only when the first instance reached the target position, then the next instance should begin moving, is this correct?

    Then your plan looks good, although instead of X counter I suggest using an instance variable on the sprite. For example, "isArrived". Pick a random instance with "isArrived=0" (see my previous comment), and when it arrives, change its value to 1.

  • winstreak It's better to put "Every X seconds" as the first condition for better performance. Also, since you are picking one random instance, you don't need the "for each" loop anymore. So here is the easiest way to do this:

    Every 0.5s
    Sprite Bullet is NOT enabled
    Pick random Sprite
    ....... Sprite set Bullet enabled.
    
  • winstreak There are quite a few mistakes in your video.

    Trigger Once condition should never be used with multiple instances. It also makes little sense using it inside loops. And in any case it should come as the last condition in an event.

    Also, For Each loop already picks instances one by one, so picking nearest in a sub-event is unnecessary, it will have no effect.

    Finally, you should put "Every 0.5s" and "Is not activated" condition before "For each", to improve performance and filter the picked scope of instances, before iterating them.

    .

    If you need to pick a random instance, there is a System condition for that.

  • How do you create the House sprite, with an event? When you create an instance in runtime, "On created" is triggered immediately, even before you select a different animation for the newly created sprite. So in the "On created" event the sprite will have the default animation, which I suppose is "Trailer".

    You need to initialize the tween values in the same event where you are creating the house. Or make a function, which you can call after you've created a new house and set the right animation for it.

  • Here is how you do this with a local variable: