Увеличить имя мувиклипа и добавить ребенка - PullRequest
1 голос
/ 05 января 2012

Я пытаюсь использовать цикл for для увеличения создания фрагмента ролика и добавления фрагмента ролика на сцену.

Примерно так:

        for (var i:int = 0; i<6;i++){
        var ball + i:MovieClip = new Ball();
        addChild(ball + i);
        ball + i.x = 470;
        ball + i.y = 130;
        }

Собираюсь ли яэто неправильно?Я получаю следующую ошибку:

C: \ PATH TO MY /ASFILE.as, строка 64 1086: синтаксическая ошибка: ожидается точка с запятой перед плюсом.

Ответы [ 2 ]

4 голосов
/ 05 января 2012

Я думаю, что хороший способ сделать это - создать Array, содержащий вновь созданные шары.

var ball:Ball;
var arrayBalls:Array = new Array();

for (var i:int = 0; i<6;i++)
{
    ball = new Ball();
    addChild(ball);

    ball.x = 470;
    ball.y = 130;

    arrayBalls.push(ball);
}

Вы храните ссылку на каждый ball в arrayBalls, поэтому вам не нужно каждый раз создавать новую переменную. Указывая ball = new Ball(), вы «стираете» предыдущее сохраненное значение и просто создаете новое. Позже вы можете просмотреть свой Array и делать с ним все что угодно. Вот так

var ball:Ball;
for (var i:int = 0; i < arrayBalls.length; i++) 
{
    ball = arrayBalls[i];
}

Или как-то так

var ball:Ball = arrayBalls[3];

Надеюсь, это то, что вы искали.

1 голос
/ 05 января 2012

Чувак, что это?: D

Хотите увеличить имя свойства или имя экземпляра?

Для имени свойства:

for (var i:int = 0; i<6;i++)
{
    var ball:MovieClip = new Ball();
    ball.name = 'ball' + i;
    addChild(ball);
    ball.x = 470;
    ball.y = 130;
}

Для имени экземпляра в этом нет необходимости,Вы можете сохранить в массиве, как rvmook сказал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...