Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   работа с объектами в массиве (http://www.flasher.ru/forum/showthread.php?t=167038)

In8Finity 07.09.2011 19:03

работа с объектами в массиве
 
Не могу понять что я делаю не так.
У меня есть несколько объектов-мувиклипов hero, которые я хочу добавлять на сцену map каждый 64 кадр двигать их там.
Для этого я замыслил использовать массивы.
Выглядит это у меня примерно так:

Код AS3:

addEventListener(Event.ENTER_FRAME, Time);
...
function Time(evt:Event):void {
 
// создаём героев. каждый 64 кадр нового героя
                i++
                if (i == 64){
                        map.addChild(hero);
                        heroList.push(hero);
                        i = 1;
                        }
 
// перемещаем созданных героев на 1 пиксель. каждый кадр
 
for (var j:int = 0; j < heroList.length; ++j){
        heroList[j].x +=1;
        }

но как вы уже наверное догадались - не работает.
Первый герой появляется и начинает ползти как надо, а на 64-м кадре он исчезает и появляется заново в первоначальном месте и ползёт уже быстрее... и тд.

Подскажите пожалуйста, где у меня ошибка?

Bgg 07.09.2011 19:07

Потому что у вас один экземпляр hero.
Код AS3:

if (i == 64){
        var hero:DisplayObject = //тут нужно откуда-то достать экземпляр.
        map.addChild(hero);
        heroList.push(hero);
        i = 1;
}


In8Finity 07.09.2011 19:16

Ага. Спасибо. Заработало.


Часовой пояс GMT +4, время: 15:55.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.