Показать сообщение отдельно
Старый 23.05.2012, 14:27
sanchoys14 вне форума Посмотреть профиль Отправить личное сообщение для sanchoys14 Найти все сообщения от sanchoys14
  № 6  
Ответить с цитированием
sanchoys14

Регистрация: May 2012
Сообщений: 18
Цитата:
Сообщение от -De- Посмотреть сообщение
Вы каждый кадр рандомно меняете индекс o. И при клике проверяете на попадание только один круг с этим рандомным индексом.
Я бы советовал подписать на клик все 6 ламп, и тогда в условии можно оставить только
Код AS3:
if (e.currentTarget.currentLabel == "red")
Спасибо за совет, всё работает, но этот способ не совсем рациональный, я бы даже сказал вообще не рациональный. Может можна как-нибуть запихнуть все клипы(lampa1 - lampa6) в масив, а потом отслеживать клики по нему, или ешё какой-то вариант. Чтобы без личшего кода. Кстате вот код этой игры на AS2:
Код AS1/AS2:
onClipEvent (load) {
 timeBetweenFoxes = 2000;
 nextFox = getTimer() + timeBetweenFoxes;
 score = 0; 
 numFoxes = 0;
 }
onClipEvent (enterFrame) {
 if (getTimerO >= nextFox) {
 timeBetweenFoxes -= 10;
 if (timeBetweenFoxes < 1000) { 
 _root.gotoAndPlay("End") ;
 } else {
 numFoxes++; _root.showScore = score + "/" + numFoxes;
 while (true) {
 fox = Int (Math.Random0*18) ;
 if (_root["fox"+fox]._currentFrame == 1) break;
 _root ["fox"+fox].gotoAndPlay ("popup") ;
 nextFox = getTimerO + timeBetweenFoxes;
 }
}
}
onClipEvent (mouseDown) {
 х = _root. _xmouse;
 у = _root. _ymouse;
 for (i=0;i<18;i++) {
 if (_root["fox"+i]._currentFrame > 24) {
 if (_root["fox"+i].hitTest(x,у,false)) {
 _root["fox"+i].gotoAndPlay("whack");
 score++;
 _root.showScore = score + "/" + numFoxes;
} 
}
}
}
}