В Actionscript 3, как создать много экземпляров одного и того же символа?

Несмотря на кодирование, я должен сделать много копий одного и того же мувиклипа, чтобы поместить его на сцену, каждый из которых должен обрабатываться с помощью кода самостоятельно.

Например, у меня есть MovieClip с именем MC и я хочу, чтобы на сцену было загружено 99 копий, каждая в своей координате х. Что я должен делать?

Я думаю об этом:

Шаг 1: в библиотеке, поворачивая MC в класс

Шаг 2: размещение следующего кода в сценарии сцены

var MyArray:Array = new Array

for (var i:int = 0; i<99;i++)
{
var MCInstance:MC = new MC
MC Instance = MyArray[i]
MovieClip.(MyArray[i]).x = i*30
}

Будет ли это иметь смысл?

2 ответа

Решение

Вероятно, это правильная идея, ваш синтаксис немного отклонен. Попробуй это:

var myArray:Array = [];

for (var i:int = 0; i < 99;i++)
{
    var mc:MC = new MC();
    myArray[i] = mc;
    mc.x = i * 30
}

Соглашения о стиле AS3: используйте lowerCamelCase для имен переменных, не пропускайте конструкторы, даже если они не являются обязательными, и создавайте массивы с использованием литералов ( источник).

Вы могли бы подтолкнуть каждого MovieClip для Array после добавления его в Stage,

var myArray = [];
for(var i:int = 0; i < 99; i++)
{
    var myMc:MC = new MC();
    addChild(myMc);
    myMc.x = myMc.width * i + 2;
    myMc.y = 10;
    myArray.push(myMc);
}
Другие вопросы по тегам