Показать сообщение отдельно
Старый 08.03.2011, 02:09
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 3  
Ответить с цитированием
maxkar

Регистрация: Nov 2010
Сообщений: 497
Код AS3:
for each(var m:MovieClip in aBlt){
    aBlt.splice(aBlt.indexOf(m), 1);
}
Код выше - это плохая идея. Вообще, менять массив любым способом по ходу его итерации - плохая идея. Во втором случае в некоторые моменты времени с массивом пересекаются две соседних плашки. Удаляется только первая (вторая при итерации пропускается). На следующей итерации она удалится, но не удалится следующая и т.д. С учетом размера и скорости плашек, "пропускание" накапливается и в конце концов пуля преодолевает потенциальный барьер . В первом случае такого не происходит, так как две пули с плашкой одновременно не пересекаются. Ну а hitTestObject здесь не при чем, он то как раз работает правильно.

stweet, не поможет изменение проверки.