You didn't mention that was the main issue. You need to post a demo project, it's difficult to understand what the problem is without it.
Well, assuming you have multiple objects in the family and a single billboard sprite (perhaps with several frames and animations), you can try this:
Family On Created Family spawn Billboard Billboard set animation .... Family add child Billboard
.
If each family object has its own billboard object, then you can simply add each pair to a container. For example, Zombie+ZombieBillboard, Vampire+VampireBillboard.
Objects from the same container will be created automatically.
If there are multiple objects in the family and only one billboard object, then containers won't work.
Are they showing their billboards incorrectly? What do you mean by that?
Also consider posting a screehshot of the event sheet.
You can use "Family on created" event to create a billboard and attach it to the family instance with hierarchy.
bueno_hernandez It works fine for me, attacks in all directions.
This may be an issue with your keyboard, it doesn't support certain key combinations. Check out this link:
microsoft.com/applied-sciences/projects/anti-ghosting-demo
github.com/Scirra/Construct.net-website-bugs/issues/193
Before accessing the data you need to load it into the array object with AJAX.
See this demo project as an example. It for a dictionary, but the same applies to arrays.
I also recommend checking out EasyStarJS, we are using it in our game for spirits pathfinding on large tilemaps with lots of obstacles.
Here is an example with lots of instances moving without overlapping:
howtoconstructdemos.com/prevent-multiple-enemies-with-pathfinding-from-overlapping-easystarjs
I don't know JS that well.
Google how to build a JSON string in Javascript. Then use setJsonString(str) to set it to JSON object.
construct.net/en/make-games/manuals/construct-3/scripting/scripting-reference/plugin-interfaces/json
Develop games in your browser. Powerful, performant & highly capable.
When LS works on one device/browser and doesn't work on another - this is a clear indication that it's not used correctly.
Also, saving each element of the array in a separate key is woefully inefficient. You can save or load the entire array as JSON with a single action.
On every tick add the distance between previous and current location of the sprite. Then save the current location in a pair of variables.
On path found .. Sprite set prevX to self.x .. Sprite set prevY to self.y Sprite is moving along path .. Add distance(sprite.x, Sprite.y, Sprite.prevX, Sprite.prevY) to distTotal .. Sprite set prevX to self.x .. Sprite set prevY to self.y
There may be a million different reasons.
Run your project in Debug Mode (Shift+F4) and investigate yourself. Check the number of collision checks, number of objects, CPU and GPU profiler tabs.
You can use tokenat and tokencount expressions to parse a list of values in a string:
construct.net/en/make-games/manuals/construct-3/system-reference/system-expressions
For "n" from 0 to (tokencount(s, ",")-1) .. Text append "Item #" & loopindex & "=" & tokenat(s, loopindex ",")
Where s variable contains a string from the dictionary.
But replacing values in the list will be tricky.
I suggest you replace your dictionary with JSON object. JSON will be much easier to work with in this particular task.
{ "list1": [2,4], "list2": [1,5], ..... }
Please try this or this:
https://www.dropbox.com/scl/fi/2ctsvsdcobdem94haxq9j/ManOnARaft.c3p?rlkey=vo4j4louckydqzprwpp0nvp1t&dl=0