2015-03-03 2 views
0

Я изучаю ActionScript, и я пытаюсь сделать основную игру в понг из учебника, но у меня возникают проблемы с поиском способа правильно кодировать столкновения. Все работает, но стена столкновения проходит мимо края моего символа в нижней части экрана. Мне нужна вся игра, чтобы быть внутри символа, поэтому я могу использовать его в интерфейсе меню, который я планирую позже импортировать. Вы можете найти фрейм кода, дважды щелкнув понг-игру.Adobe Flash ActionScript 3 обнаружение столкновений внутри символа

Моя проблема заключается в коде:

//if the bottom of the ball is lower than the bottom of the screen 
if(ball.y >= stage.stageHeight-ball.height/2){ 
    ball.y = stage.stageHeight-ball.height/2; //reposition it 
} 

мне нужно найти способ, чтобы изменить код, чтобы обнаружить столкновения основанный на границах символа или пикселей высоты, а не ее высоту, но я не секрет производства. Вы можете скачать the flash file, чтобы посмотреть его.

ответ

0

Вы забыли, что находитесь в своем Pong MovieClip, который имеет размеры 550x400px, которые отличаются от ваших 920x540px, и поэтому ваш мяч выходил из вашей черной зоны на нижнюю границу сцены.

Таким образом, вы можете:

  • Поместите свой код непосредственно в корневой временной шкале, и он будет работать нормально.

Или

  • Редактировать ваш текущий код, чтобы использовать ваши Pong размеров MovieClip, а не те, вашу сцену.

Надеюсь, что это может помочь.

+0

Спасибо за ответ. Я понимаю, что вы говорите, но я недостаточно хорош в actionscript для реализации этих изменений. Я попытался изменить код, но не могу заставить его работать. – Ross

+0

@ Ross.ayl Вы должны просто положить 'playerPaddle',' ball' и 'cpuPaddle' в свою временную шкалу сценария и скопировать код вашего« Pong »MovieClip в корневую рамку шкалы времени перед удалением этого MovieClip. – akmozo

Смежные вопросы