oosyrag's Forum Posts

  • + Touch: On touched Sprite

    + System: For "loop" from 28 to 35

    + Sprite: Pick instance with UID LoopIndex

    -> Sprite: Set animation frame to LoopIndex-27

    On a side note, I generally would not recommend using UID like this, although I don't know how your project is set up.

  • Have you tried different browsers on mobile to see if any work?

  • Tilemap collisions can normally be checked without any behaviors.

    When testing for collisions with a Tilemap object, empty (erased) tiles count as not colliding, and all other tiles count as colliding. A custom collision polygon can be set for individual tiles by double-clicking a tile in the Tilemap bar. Note however the collision polygon cannot be entirely removed from a tile: only an erased tile counts as not colliding at all.

    construct.net/en/make-games/manuals/construct-3/plugin-reference/tilemap

    Perhaps you want to add the solid behavior to the tilemap? It will then have special interactions with a variety of behaviors.

    If you want it to interact with the physics behavior, give it the physics behavior and enable the immovable option.

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

  • I use the built in editor extensively for placeholder graphics.

    For any production assets, I would never use the built in editor. There are many excellent options, such as Adobe products, Inkscape, Spriter, Gimp, GraphicsGale, Ect.

  • > You can still use while (stop loop still will work the same way), but you'll need to track your progress manually rather than using loopindex is all.

    Of course. The problem is, while the loops is running there doesn't appear to be any way to update a progress bar, a text or anything else. One of my while loops could likely take up to 5 seconds, during which time, the game is completely frozen. Since this will be during startup, those kinds of delays are considered acceptable. Not updating a text or a progress to prove the game hasn't crashed for 5 seconds? The vast collection of impatient gamers on this planet will have a collective embolism.

    I exaggerate but you get the point.

    Yes. The point is if you stop a loop, the current tick will complete, you can update progress text, and continue looping the next tick if you kept track of how far along the loop you were. You can control how many breaks there are depending on how long you expect the loop to take. In my first example I made 100 breaks, to give a percentage progress indicator, thus if my loop took 300 seconds to run in whole, progress would be seen every 3 seconds. Or if it took 5 seconds in total, it would update every .05s.

  • You can still use while (stop loop still will work the same way), but you'll need to track your progress manually rather than using loopindex is all.

  • This could possibly be an interesting feature suggestion.

    A stop loop action except that instead of terminating the loop, it will complete anything that remains in the following tick.

    Edit: Also gives me an idea for a different approach.

    Progress=/=TotalIterations

    For "loop" from Progress to TotalIterations

    -> Do x

    -> Set Progress to loopindex.

    -> Stop loop based on desired trigger

    The following tick the loop will run again, starting at wherever you left off when you stopped the loop

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • For long loops with progress indication, I use nested for loop with a progress/iteration counter.

    Every tick if 0<"progress"<=100, add 1 to progress

    > For "loop" from totaloperations/100*(progress-1) to totaloperations/100*progress

    This will start running by setting progress to 1. 100 is an arbitrary number for how many steps/ticks you want to divide your operation for. My main application of this is for parsing, where totaloperations is the tokencount of what I want to parse.

  • Your idea would work.

  • Off the top of my head change the "Set angle" property to "Yes" and/or use the Object-Bullet Behavior "Set angle of motion" action instead of Object "Set angle" action.

  • The key to what plinkie said was the "grab state". Basically when the player is in the hanging state, he will move by different rules/events than normal. You'll need to set these up yourself. Disable the normal movement events, which is probably the platform bvehavior, then create events for what do you want to happen with each input individually.

    • Post link icon

    Layouts and rooms are two completely different concepts.

    Leaving a layout does not mean you leave the room.

    You can stay connected to multiplayer signalling rooms while changing layouts per client. Sync just doesn't work when you're on a different layout than the host.

  • To sync an input value, you usually want to use the "Add client input value" and "Set client state" actions. This is one way to the host.

    "Sync object" is generally used to update peers with information regarding position and creation and deletion of objects on the host. You can optionally also choose instance variables to sync with the "Sync instance variable" action. Again this is one way - peers will sync with a change on the host.

    Peers should not change their objects to send to the host, as you describe. Peers send their inputs to the host, who makes the change on the proper object based on the peer input. That object then gets synced with all the peers.

  • Use a set of subevents. Pin to object is an action, so set up events for each condition and pin type you want.

    If spawning object instance variable is a, then pin to object with x mode.

    If spawning object instance variable is b, then pin to object with y mode.

    • Post link icon

    You should be able to reuse a room name if the host leaves.