В 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);
}