|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Feb 2017
Сообщений: 30
|
Проблема с програмой(произведение обекта)
не понимаю почему не работает..
Отделил как ви и говорили(внутри лучше не работает), после появления 1 мини все происходит нормально(крутиться, двигаеться), а когда появляеться 2 , 1 перестает двигаться и так со всеми последующими... var mina:Array = new Array(); var timer:Timer = new Timer(1000, 0); timer.addEventListener(TimerEvent.TIMER, spawn); timer.start(); function spawn(e:TimerEvent):void{ timer.start(); for(var i = 0;i<1;i++){ mina[i] = new boeprypas(); addChild(mina[i]); mina[i].x = Math.random()*400+200; mina[i].y = Math.random()*400; } } addEventListener(Event.ENTER_FRAME, polet); function polet(e:Event):void{ for(var j = 0;j<mina.length;j++){ var xmov = (myCosmo.x - mina[j].x)/500; var ymov = (myCosmo.y - mina[j].y)/500; var angle = Math.atan2(xmov, ymov)*180/Math.PI; mina[j].x += xmov; mina[j].y += ymov; mina[j].rotation += 3; } } |
|
|||||
Потому что цикл в обработчике таймера каждый раз запускается с нуля, и в массив помещаются новые ссылки на новые мины, но на те же индексы, где были старые. Все ссылки на старые мины затираются и в массиве их больше нет, поэтому в обработчике polet к ним уже нет доступа
for(var i = 0;i<1;i++){ var mine:DisplayObject = new boeprypas(); addChild(mine); mine.x = Math.random()*400+200; mine.y = Math.random()*400; } mina.push(mine); } п.с Код в сообщениях, надо оборачивать в теги AS3
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
Регистрация: Feb 2017
Сообщений: 30
|
я ето понал вчера когда ложился спать!!!)я сделал отдельную перемнную и увеличиваю ее на 1 за каждое срабативание таймера
|
Часовой пояс GMT +4, время: 23:13. |
|
« Предыдущая тема | Следующая тема » |
Теги |
Action script 3.0 , проблема |
|
|