Обнаружить, когда последний товар в массиве пришел к остановке -- actionscript-3 поле с участием algorithm пол Связанный проблема

Detect when the last item in an array has come to a stop


0
vote

проблема

русский

У меня есть массив спрайтов, которые я анимирую, увеличивая свой свойство RotationX. Для них я хочу, чтобы они все исчезнули после того, как последний элемент в массиве пришел полный круг. Проблема в том, что их скорости вращения генерируются рандомизированной функцией, поэтому я не могу просто перейти к концу массива, чтобы найти последний. Каждый раз это будет другой.

Так что у меня есть массив спрайтов:

 <код> for(var i:int=0; i<arrSprites.length; i++) {     addChild(arrSprites[i]) ;    }   

Тогда у меня есть мой слушатель событий:

 <код> addEventListener(Event.ENTER_FRAME, loop);   

и мой обработчик:

 <код> private function loop(e:Event):void {     for(var i:int=0; i<arrSprites.length; i++)     {         var currentSprite:Sprite = arrSprites[i];         if(currentSprite.rotationX < 361) //this will detect the first one                                                        //to finish but I want the last              {                 currentSprite.rotationX += arrSprites[i].speed; //random speed             }             else             {                 deleteTheSprites(); //removes all sprites and does other stuff             }           }     }   

Там должен быть элегантный способ сделать это. Кто-нибудь знает, что это такое?

Спасибо,

Дэвид

Английский оригинал

I've got an array of sprites which I'm animating by incrementing their rotationX property. What I want is for them all to disappear once the last item in the array has come full circle. The problem is that their rotation speeds are being generated by a randomized function, so I can't just go to the end of the array to find the last one. Each time it will be a different one.

So I have an array of Sprites:

for(var i:int=0; i<arrSprites.length; i++) {     addChild(arrSprites[i]) ;    } 

Then I have my event listener:

addEventListener(Event.ENTER_FRAME, loop); 

And my handler:

private function loop(e:Event):void {     for(var i:int=0; i<arrSprites.length; i++)     {         var currentSprite:Sprite = arrSprites[i];         if(currentSprite.rotationX < 361) //this will detect the first one                                                        //to finish but I want the last              {                 currentSprite.rotationX += arrSprites[i].speed; //random speed             }             else             {                 deleteTheSprites(); //removes all sprites and does other stuff             }           }     } 

There's got to be an elegant way to do this. Anyone know what it is?

Thanks,

David

</div
     

Список ответов

2
 
vote
vote
Лучший ответ
 
 <код> FLUSH HOSTS; 3  
 
private function loop(e:Event):void {     var finished : int = 0; // will count the number of sprites finished     for each (var current:Sprite in arrSprites)     {         if (current.rotationX < 361) current.rotationX += current.speed;         else if (++finished == arrSprites.length) deleteTheSprites();  // executes only if all sprites have finished     } } 
</div
 
 
 
 

Связанный проблема

1  Как вы печатаете все элементы на сцене с помощью ActionScript 3.0?  ( How do you print all elements on the stage with actionscript 3 0 ) 
У меня есть проект Flex / AS3, в котором у меня есть растровое изображение, а затем нарисуйте спрайты сверху этого фона. Это создает карту и маршрут в местах ...

13  Откройте локальный файл с Air / Flex  ( Open local file with air flex ) 
Я написал воздушное приложение, которое загружает видео и документы с сервера. Видео играют внутри приложения, но я хотел бы, чтобы пользователь мог открыть д...

2  ActionScript 3 Настенное удаление стены  ( Actionscript 3 wall hit detection ) 
Я делаю простую вспышку и пытаюсь сохранить аватар от удара стен на данном уровне, вот код, который я написал, достаточно простого <код> var hitWall:...

12  Есть ли преимущества при использовании финала в AS3?  ( Are there any benefits when using final in as3 ) 
Я пытался сделать привычку недавно использовать <код> final ключевое слово везде, где логично, как и любые классы, которые никогда не должны быть расширены. ...

1  Как отрегулировать прокладку между абзацами в данных XML с помощью сценария действий 3 ..?  ( How to adjust padding between paragraphs in xml data using action script 3 ) 
Это меня снова придумайте другой вопрос, как отрегулировать прокладку между каждым абзацами в AS3 ..? На самом деле я покажу вам пример, который я сейчас зако...

0  Прокручиваемые области в ActionScript 3 Визуализация  ( Scrollable regions in actionscript 3 visualization ) 
Какой лучший способ создать несколько прокручиваемых областей в визуализации ActionScript 3, которая расширяет Flash.display.sprite и использует иерархию дисц...

5  Констанция номера линии в Actionscript 3.0?  ( Line number constant in actionscript 3 0 ) 
Есть ли постоянная константа строки или способ динамически проследить номер строки в ActionScript? делает ActionScript эквивалент <код> __LINE__ в php...

0  Как ссылаться на ссылку XML-узлы в AS3, имена которых являются ключевые слова, такие как <объект> x </ объект> или <имя> x </ name>?  ( How do i reference xml nodes in as3 whose names are keywords like objectx ob ) 
Я пытаюсь разобрать некоторое XML в AS3, но узлы, которые я пытаюсь вызвать, названы ключевыми словами, такими как «имя» и «объект». Могу ли я как-то избежать...

1  Можно ли поймать значение Comboboxes до изменения с событием изменения  ( Is it possible to catch a comboboxes value before change with a change event ) 
Я показываю комбинированную коробку в чем-то из предварительного просмотра WYSIWYG. Я хочу, чтобы пользователь мог нажать на поле комбо и увидеть варианты вну...

1  Физический двигатель для песчаного 3D  ( Physic engine for sandy 3d ) 
Я разрабатываю небольшую игру, чтобы узнать как и Sandy 3D. Я хочу включить физический двигатель в моей 3D-сцене. Я хотел использовать WOW, как песчаное руков...

0  Создайте динамическую навигацию от файла XML в Flash CS3  ( Create dynamic navigation from xml file in flash cs3 ) 
Я хочу передать файл XML к SWF и попросите SWF генерировать динамическое текстовое поле и кнопку для каждой из ссылок в файле XML Рудиментарная навигация ...

0  Как поделиться компонентом в AS3  ( How to share a component in as3 ) 
У меня есть пользовательский компонент (например, myButton), используемый в нескольких SWF. Я хотел бы поделиться компонентом во время выполнения, при этом по...

1  Обнаружить Закрыть событие JavaScript в следующем коде  ( Detect close event of javascript in below code ) 
Я пробую этот пример связи Flex-JavaScript. Но я не могу этого добиться. Пожалуйста, кто-то может помочь мне? Вот мой код: main.mxml <код> <?xml versi...

1  Flash Pro - AS3 Встроенный шрифт не отображается на этикетке кнопок в iOS  ( Flash pro as3 embeded font not showing up on button label in ios ) 
Так что у меня есть раздражающая проблема, которую я не могу решить. Я создаю приложение в Flash Pro / AS3 для iOS. У меня есть кнопка, чья шрифт метки я хочу...

1  Установить максимальный размер SharedObject  ( Set sharedobject maximum size ) 
Есть ли способ установить (большой) максимальный размер для SharedObject на моем домене, чтобы я мог попросить пользователю выделить размер более 100К один ра...

Связанный проблема

1  Как вы печатаете все элементы на сцене с помощью ActionScript 3.0? 
13  Откройте локальный файл с Air / Flex 
2  ActionScript 3 Настенное удаление стены 
12  Есть ли преимущества при использовании финала в AS3? 
1  Как отрегулировать прокладку между абзацами в данных XML с помощью сценария действий 3 ..? 
0  Прокручиваемые области в ActionScript 3 Визуализация 
5  Констанция номера линии в Actionscript 3.0? 
0  Как ссылаться на ссылку XML-узлы в AS3, имена которых являются ключевые слова, такие как <объект> x </ объект> или <имя> x </ name>? 
1  Можно ли поймать значение Comboboxes до изменения с событием изменения 
1  Физический двигатель для песчаного 3D 
0  Создайте динамическую навигацию от файла XML в Flash CS3 
0  Как поделиться компонентом в AS3 
1  Обнаружить Закрыть событие JavaScript в следующем коде 
1  Flash Pro - AS3 Встроенный шрифт не отображается на этикетке кнопок в iOS 
1  Установить максимальный размер SharedObject