Copy link to clipboard
Copied
I am rebuilding my old game built with AS2 for Adobe Animate canvas. Got stuck while duplicating the objects. Found this thread from JoãoCésar using new lib, and everything is fine but I would like to create multiple instances form my library item 'bug' (has linkage 'bug' as well). Pardon my code, but I would like to be something like this:
var that = this;
this.buttonAdd.addEventListener("click", addFromLibrary);
function addFromLibrary(e) {
for (var i = 0; i < 5; i++) {
var ["bug" + i] = new lib.bug();
["bug" + i].x = 10 * i;
["bug" + i].y = 10 * i;
that.addChild["bug" + i];
}
}
... where I expect all 5 flying bugs on stage. Obviously it doesn't work with dynamic variables. As I understand bracket notation should be used over eval in Animate javascript, but not sure how exactly should I use it. As furhter more I would like to access these created bugs for collision event as well. Many thanks!
Hi.
There's no need to use bracket notation in this situation. But if you really need to use it, you should write something like:
that["bug" + i].x = 10 * i;
Because bracket notation is used to access properties of an object.
And for your code to work, you could do something like this:
var that = this;
function addFromLibrary(e)
{
var i, bug;
for (i = 0; i < 5; i++)
{
bug = new lib.bug();
bug.x = 10 * i;
bug.y = 10 * i;
that.addChild(bug);
that.bugs.push(bug);
}
}
that.bu
...
Copy link to clipboard
Copied
Hi.
There's no need to use bracket notation in this situation. But if you really need to use it, you should write something like:
that["bug" + i].x = 10 * i;
Because bracket notation is used to access properties of an object.
And for your code to work, you could do something like this:
var that = this;
function addFromLibrary(e)
{
var i, bug;
for (i = 0; i < 5; i++)
{
bug = new lib.bug();
bug.x = 10 * i;
bug.y = 10 * i;
that.addChild(bug);
that.bugs.push(bug);
}
}
that.bugs = [];
that.buttonAdd.addEventListener("click", addFromLibrary);
Please notice that I'm storing the instances in a array for later reference. But it's not mandatory if all that you need is to spawn some instances at runtime.
I hope this helps.
Regards,
JC
Copy link to clipboard
Copied
Thank you João,
Your suggestion worked as intended. Thanks a lot 🙂 I will try to develop the rest and hope to continue to move on. I believe I will make use of this array with instances as well. Have a great New Year!
Andrius
Copy link to clipboard
Copied
That's great, Andrius! You're welcome!
I wish you a happy New Year and a fun time developing your game!