dop2000's Forum Posts

  • You can limit scrolling to layout with events:

    + System: Every tick
    -> System: Set scroll X to clamp(ScrollX, 0+ViewportWidth("layer")÷2, LayoutWidth-ViewportWidth("layer")÷2)
    -> System: Set scroll Y to clamp(ScrollY, 0+ViewportHeight("layer")÷2, LayoutHeight-ViewportHeight("layer")÷2)
    

    Where "layer" is a layer with 100% parallax.

  • Enable Unbounded scrolling on all layouts. You might need to test that the game is scrolling properly after that.

  • It's probably because of the camera notch. Change the "Viewport fit" in project properties to "cover"

  • Everyone has the same ID and it's much easier to move them now.

    You only need the ID variable on the parent Card sprite. All children objects are already linked to the Card and can be picked using "Card pick children" condition.

  • I'm guessing the audio loops because the function is getting called multiple times. Make sure you are calling it only once.

  • I don't know anymore how correct this system is. But containers and families look much worse in my opinion

    What you need here is a hierarchy. Add other objects (texts, images) as children to the main Card sprite. They will move together as one unit, and you can pick child objects in events. And it's a lot easier than linking them by ID.

    Then I can’t add 1000 cards to the screen, etc. Where each will have 4 elements, this is already 4000 objects, etc.

    It’s not that bad. Construct can easily handle tens of thousands objects. As long as you keep most of them off-screen, you're not moving all 4000 objects at once, and you’re not updating them every tick, the performance impact should be minimal.

    Another option is to destroy cards once they’re swiped away and create new ones as needed. That approach should be easier than trying to recycle them.

  • the letters of the spritefont look very strange, some big gaps, distances, letters can overlap each other

    That's because you need to configure the spacing data and other parameters. Use the SpriteFont Generator app, it generates a file with all these parameters - all you need to do is just copy/paste them.

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

  • I still don't understand your question. But if you want to pause the function, then just don't call it. Check for some condition, say, use a variable - spawningIsPaused. Set it to true when you need to pause spawning.

    If NOT spawningIsPaused -> Call SpawnNewMolecule

    Then set it to false to resume spawning.

  • 8direction behavior tries to prevent them from colliding with solid objects, yes. But it's a workaround, not a solution to your problem. Your pathfinding grid is probably not configured correctly. See the official documentation:

    construct.net/en/make-games/manuals/construct-3/behavior-reference/pathfinding

  • What recurring function? Did you mean a recursive function, which calls itself? Or do you call the function in a loop?

    Please post a screenshot of your code.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • There are many ways to do that, but in your case you need to organize the events properly. And remove all "Wait for previous action", you don't need them and you are not using them correctly.

  • Pathfinding behavior, just need to correctly configure the grid.

    construct.net/en/make-games/manuals/construct-3/behavior-reference/pathfinding

    Another option is this plugin, but it may not work in future versions of Construct. (unless someone updates it for SDK2)

    construct.net/en/make-games/addons/1140/easystar

  • Your JSON string should be formatted like this:

    {"c2array":true,"size":[30,20,1],"data":[[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]],[[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]]]}

    As you can see, each value is in square brackets - [0]. Basically each value is an array consisting of one element.

  • So you can open the project, but can't preview it? Then it's not a total loss. It's possible that some images or files got corrupted.

    I’d try removing objects, layouts, event sheets one by one until the preview starts working. Then narrow it down to find the corrupted element.

    But of course make sure to back up the project file first! And definitely consider doing daily backups in the future!