No... I thought your array contained words? Why do you clear it?
See this example:
dropbox.com/scl/fi/zemsgxz3r9f8gq6164ocu/ArrayPermutationExample.c3p
Develop games in your browser. Powerful, performant & highly capable.
Use permutation table feature of the AdvancedRandom plugin.
AdvancedRandom create permutation table with size Array.width
The first random word would be Array.at(AdvancedRandom.permutation(0))
The next word Array.at(AdvancedRandom.permutation(1))
And so on. They won't repeat.
I'm not a fan of "trigger once" condition, don't use it if there are multiple instances of objects that could be overlapping.
I suggest using timers instead of "wait" action, because you can't cancel or extend the wait if objects collided again within 0.5s
I have a demo!
howtoconstructdemos.com/comprehensive-undo-redo-system-capx
So you need to arrange them in a grid, like an inventory? There are plenty of examples of how to do this.
Here is a simple loop:
Result:
fisholith Oh, I'm sorry, my mistake. It's just at the first glance your comment looked very similar to what ChatGPT generates when I ask it programming questions. I can see now that it's not, apologies again.
Although I don't understand why your proposed solution is in Javascript. It's clear from the OP's post that they are using the event system.
fisholith What's the point of posting AI-generated responses?
Are all sprites the same size, and have the origin point position in the same spot?
Check out this demo:
howtoconstructdemos.com/select-and-drag-multiple-images
Yeah, first you set path to SongName&".Stamps" , after that you can access the array using just "."
To cycle through the array:
Local Var inRange=0 For "n" from 0 to JSON.ArraySize(".")-1 If CurrentDuration between values JSON.Get("."&loopindex&".start") and JSON.Get("."&loopindex&".end") ----> Set inRange to 1 ----> Stop loop If inRange=1 : Set "Sing" animation Else : Set "Idle" animation
I would use MoveTo behavior, it's a lot easier. You can feed it all waypoints at once and it will move along the path.
After "Wait 4 seconds" action create this sub-event:
System Repeat 10 times ... Wait 0.1*loopindex ... Spawn projectile
I find it easier to call functions by name in scripting:
runtime.callFunction(localVars.fName);
or
runtime.callFunction(localVars.fName, localVars.parameter1, localVars.parameter2,...);
Or do you need to arrange them differently? Post a picture of what you have in mind, or a video of a similar game.
howtoconstructdemos.com/template-for-a-card-game-shuffling-a-deck-of-cards-dealing-cards-to-two-players
It may not be exactly what you are asking, but it shows how to sort and re-arrange cards.