dop2000's Forum Posts

  • if the layout size is 1000x1000, does this mean that every tilemap object added contains tile data for 1000x1000, even if the object is resized to 50x50?

    I think so. When you add a new tilemap, its size is set to layout size. If you resize the tilemap, it will still remember its initial size and will store the values for those invisible tiles.

  • Or, if you are comfortable with editing project files, here is a little tool I made that converts tilemap data to a string that can be stored in Layout.json file. It also shrinks the tilemap. It can be useful if you create tilemaps in runtime and want to store them permanently in the project.

    dropbox.com/scl/fi/mda3f73tgpbmnjmv5ofde/tilemap_data_convert.c3p

  • I tested with 1000 tilemaps created on every tick and apart from a slightly higher memory usage there's no difference in performance.

    The funny thing is that you can't actually delete those invisible tiles, even if you erase them, they are still stored in timemap data. The only way to shrink the tilemap is to delete all instances of it, restart the editor, create a small blank layout (say, 300x300 px) and place the tilemap object on it.

  • There are three sprites named "target1", "target2" and "target3"

    Do they need to be different objects? Consider combining them into one sprite, maybe with different animations.

    If you are sure they should be different objects, then you need to add them all to a family and define the variable on the family. Then you will be able to pick any family instance:

    Family variable=2 -> Sprite find path to Family

  • Ashley Thanks for the detailed answer! We are of course staying on NWjs for now, but it's good to have a backup option.

  • Tell players they'll need to say goodbye to their previous saves. Keep the old version in another branch, so if they want, they can continue their old games.

    I don't think this qualifies as a solution.

  • I wonder if it's possible to switch from NWJS to WebView2 in an already published Steam game?

    I'm guessing the folder and file structure will be different. Will this cause any issues? Will the game be able to access Local Storage data from NWjs version?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • When several objects are draggable/clickable you can use "Pick top instance".

    There are many way to prevent click-through - one solution is to disable/enable layer interactivity. For example, when menu layer is active, disable interactivity on all game layers. Another option is to organize events in groups and activate/deactivate them. Say, if an object is clicked, deactivate "UI controls" group.

  • I never really knew how to use the LocalStorage feature

    There are plenty of examples and tutorials. All you have to do is save one value in Local Storage - "isBanned"=1

  • Here is the solution to #2

    dropbox.com/scl/fi/j6vtjlirv55gojr4b0gci/DragAndToggle.c3p

    Like I said, #3 may be difficult. Perhaps you need to use invisible immovable sprites to limit the zone of the box. Or you can allow the object to go through the walls while dragging, but when released snap it to the nearest free shelf.

  • You do not have permission to view this post

  • You do not have permission to view this post

  • Is obj_item_potions_inventory a member of Inventory_Item family?

    You parent event (Mouse on clicked Inventory_Item) picks a family instance. But it doesn't pick obj_item_potions_inventory instance! Even if it's the same sprite, Construct treats them as different objects.

    So to fix this you need to pick obj_item_potions_inventory which was clicked. The easiest way to do this is to add this condition to sub-events (before comparing the animation name):

    obj_item_potions_inventory Pick by unique ID = Inventory_Item.UID
    
  • 1. DragAndDrop behavior ignores Solid. Physics is also not compatible with Solid.

    If you need physics object to collide with other physics objects while dragging, you need to move them with physics actions - apply force, velocity etc.

    Check out these examples:

    howtoconstructdemos.com/physics-puzzler-move-and-re-arrange-blocks-with-mouse-c3p

    howtoconstructdemos.com/physics-game-catch-apples-with-a-bucket-capx

    2. You can use Touch plugin, it has "On Object Tap" condition - it's a gesture which only triggers if the object is quickly touched/clicked without moving.

    Alternatively you can save the time and position of the click, and when the mouse button is released compare how much time has passed from the start of the click, and how far the object was moved. Say, if the time<0.3s and the distance<5px, then toggle the switch.

    3. This task may be pretty difficult. When the cabinet is closed, you can disable physics for all objects inside of it, and add them as children to the cabinet (using hierarchy). Then they will be moved with the parent.

    To arrange objects on shelves you probably need to define which objects can collide, using "Enable/Disable collisions" action.

  • Hm, I'm fairly sure I tried File Chooser years ago on mobile and it didn't work. Glad it's working now!