![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Контрибьютор базы знаний по Флекс
Регистрация: Aug 2005
Сообщений: 690
|
Всем привет!
Есть грубо говоря сто мувиков с именами mc1..mc100. Также при нажатии на левую кнопку мыши к курсору аттачится так называемый мувик пулька, который летит вертикально и должен при попадании в один из этих ста мувиков их "убивать". Никак не могу понять, как зафиксировать событие столкновения моих пулек и этих мувиков-мишеней. Ведь пульки аттачатся под разными именами. |
|
|||||
|
Регистрация: Dec 2005
Адрес: Kainsk
Сообщений: 88
|
Для большего количества клипов наверное тормозить будет.
enterFrame всётаки да и циклов куча. Потом удаляйте пули которые за экран вышли. |
|
|||||
|
Контрибьютор базы знаний по Флекс
Регистрация: Aug 2005
Сообщений: 690
|
Unexpected file format
( - может версия старая флеша у меня стоит (у меня MX Prof 2004). Может еще скинешь в другой версии?Да, EnterFrame удаляться будет при столкновении с клипом-мишенью. А каков сам принцип? Как-нибудь хитро hitTest применить? |
|
|||||
|
Регистрация: Dec 2005
Адрес: Kainsk
Сообщений: 88
|
Смотри.
|
|
|||||
|
Banned
[+1 16.05.2006]
[++1 16.05.2006] [+ 1 21.05.06] [++ за хамство] [+1 21.05.2006] Регистрация: Dec 2003
Сообщений: 3,925
|
Перебирать на предмет коллизии со всеми. Ты угадал, с помощью hitTest
|
|
|||||
|
ОДИН РАЗ при создании пульки пробегайся по всем шарикам (или что там у тебя) и смотри, для какого _y лежит в пределах попадания твоей пульки (для какого _y пульки равен его _y плюс/минус (в зависимости от того где ноль) его высота), и запихивай пульке как какой-нить "таргет" сцылу на этот шарик... А уж потом - дело техники
Либо по _x проверяй, либо через хитТест, но уже не у всех, а только у таргетов (либо у таргета, если пулька разрывается после первого же столкновения) |
|
|||||
|
Banned
[+1 16.05.2006]
[++1 16.05.2006] [+ 1 21.05.06] [++ за хамство] [+1 21.05.2006] Регистрация: Dec 2003
Сообщений: 3,925
|
А не проще сразу хит-тест?
|
|
|||||
|
Контрибьютор базы знаний по Флекс
Регистрация: Aug 2005
Сообщений: 690
|
but.onPress = function() {
if (Key.isDown(1)) {
// если нажата левая кнопка мыши
if (fire) {
//если активизирован огонь
k++;
attachMovie("bullet", "bullet"+k, k); //аттачим пульку
_root["bullet"+k]._y = plo._y;
_root["bullet"+k]._x = plo._x;
// координаты пульки соответствуют координатам "дула пистолета"
_root["bullet"+k].onEnterFrame = function() {
this._y -= 5; // запускаем пульку вверх
// а вот тут хз как, если через хиттест, то его надо прогнать через цикл
// из 100 итераций
for (i=0;i<100;i++) {
if (this.hitTest("kv"+i)) {
_root["kv"+i]._visible = false;
}
}
};
}
}
};
( |
|
|||||
|
Контрибьютор базы знаний по Флекс
Регистрация: Aug 2005
Сообщений: 690
|
Вариант K.A.T.A.F.A.L.K.E.R'а лучше так как сразу уменьшается количество итераций цикла. Сейчас так и делаю. Правда гемора стока с этими if'ами
)) |
|
|||||
|
Цитата:
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:11. |
|
|
« Предыдущая тема | Следующая тема » |
|
|