oosyrag's Recent Forum Activity

  • Functions have been migrated from a plugin to being built in to event sheets. They have the same or more functionality than the old plugin functions, but old example projects may not have been updated.

    To use the new construct 3 built in functions, refer to the manual. construct.net/en/make-games/manuals/construct-3/project-primitives/events/functions

  • Regarding the timing, you need a way to keep track of each tween and determine which one is the last one, before changing the state of your game (by global variable, or group enabling as you're doing).

    Personally, I'd probably use (and recommend) a queue array. I would push all my tweens to a single array. As each one finishes, delete the 0th index (the one that just played), and start the next tween based on whatever is newly at the front of the line, until there are no more. All the information needed for each tween should be contained in whatever information you decide to push to the back of that array, and you wouldn't need to differentiate between types of array. They would all just go one after another until there are none left.

    Example relevant data might include what to push (UID), duration of the tween, and the target. For a pause, perhaps you could add a tween of anything for the duration you want, that doesn't actually move anything, just to keep the flow of the same system.

  • If you want a more efficient save, you'll need to consider and define only what you absolutely need to save, and do so manually. If it's still taking too long, you might consider changing the format and contents of the data you're saving to something smaller or more simple. Depends on your game really.

  • It shifts the viewport to a second players point of view and "pastes" it onto the canvas, then moves the viewport back. This happens every tick, so the canvas shows the offset view. For 4 players, you would need to reposition 4 times and paste to 3 separate canvas objects. I'm not certain this will actually work though, since there were some odd quirks with paste timing iirc.

  • The way I see it, a For Each condition simply copies/repeats the event once for each instance of the object, while picking that instance per each copy.

    If you don't use For Each, all instances are picked by default (notwithstanding other conditions).

    This generally comes up when an instance refers to itself in an expression or variable.

    However, as Dop mentioned above, there are several "crutches" where Construct tries to be smart about it, by picking/referring to the correct instance in expressions automatically without a for each. So a lot of times you can get away without using it.

  • Sure, the folder name works fine. I was wanting the path.

  • + Mouse: On any click
    -> FileSystem: Show folder picker tag "setSource" mode Read-only (ID "", start in (default))
    -> System: Wait for previous actions to complete
    -> System: Set source to FileSystem.FolderPath
    -> debug: Set text to source
    

    Filesystem.FolderPath returns an empty string.

    I've also tried using the expression in a seperate event with "On picker complete" instead of using wait for previous action to complete, same result. The action runs, since it overwrites whatever was in the variable/text previously. Also tried using the list contents action and completed trigger after picking the folder, but same result.

    Preview on chrom/win10. dropbox.com/scl/fi/hgtsq5dfcsjrm2b1l3314/filesystemtest.c3p

  • GridTargetX

    GridTargetY

    Return the grid cell the object is currently moving towards, by its column and row.

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

  • I don't remember if gridtargetx and gridtargetx are preserved after arriving, but try a combination of

    Is moving (inverted)

    And gridtargetx = gridx

    And gridtargety = gridy

    If they aren't, you can use a variable to keep track of them instead.

    Limiting movement can be done as a condition on input checking a variable that keeps track of available moves, which can be updated upon inputting a movement.

  • Allowing CORS is part of the configuration on the web server of the resource you are trying to request from.

    Imagine if each domain is a house, and the data you're requesting is inside the house. CORS is the lock on the front door.

    If the host you're running your app from is on the same domain you're already inside the house and you can get to the data in the house no problem.

    If you're coming from outside (different house/domain, such as when you're previewing from localhost or construct.net), CORS will block your AJAX data request.

    So the owner of the server has to disable CORS on their webserver by setting it in their config, basically leaving the door unlocked. This will allow requests from outside domains through.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • A minimal example project would be really helpful here.

    I'd guess you were building up rounding errors from your various loops, but you said you also reset the tween based on the audio trigger so that doesn't track. That's what I would have recommended, rather than looping and timing everything separately so that they align, pick one thing to base/sync everything else to.

oosyrag's avatar

oosyrag

Member since 20 Feb, 2013

Twitter
oosyrag has 39 followers

Trophy Case

  • 12-Year Club
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • Enduring Visitor Visited Construct.net 90 days in a row
  • Unrelenting Visitor Visited Construct.net 180 days in a row
  • Continuous Visitor Visited Construct.net 365 days in a row
  • RTFM Read the fabulous manual
  • Email Verified

Progress

22/44
How to earn trophies