Используйте имя объекта, чтобы внести изменения в объект - PullRequest
0 голосов
/ 22 января 2020

Я создал несколько экземпляров одного объекта, каждый из которых имеет собственные имена экземпляров с номерами в конце. Я хотел бы перебрать эти имена (у них есть числа в конце), изменить их свойства, затем вывести их в массив по всем именам экземпляров, а не по фактическим экземплярам объектов.

if (instance60.currentFrame == 4)
{
    array.push("instance60")
}

Где первый instance60 ссылается на сам объект, а второй instance60 - это просто нажатая строка

1 Ответ

0 голосов
/ 16 февраля 2020

Я думаю, что вы хотите сделать, это установить пару ключ-значение.

Ключ будет, как вы найдете ссылку на объект позже

instances["instance"+60] = instance60;

вы можете l oop используя что-то вроде:

for(var i:uint=0;i<instances.length;i++){
   instances["instance"+i] = new Sprite();
   instances["instance"+i].x = 20;
   instances["instance"+i].y = 20*i;    
   //etc...
}

Но, хотя это имеет смысл, в этом случае вы в любом случае перебираете целочисленное значение, поэтому, учитывая, что оно может работать немного быстрее на больших массивах, почему не просто хранить их на своих местах в массиве?

for(var i:uint=0;i<instances.length;i++){
       instances[i] = new Sprite();
       instances[i].x = 20;
       instances[i].y = 20*i;
       this.addChild(instance[i]);    
       //etc...
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...