Во многих играх от оружия идет лазер и упирается в стены. Это дает нам графическую составляющую и возможность наперед знать точку попадания пули. Вы сами можете придумать как использовать этот лазер. На поле рисуем мувик и называем его "ground" - это мувик в который будет упираться наш лазер. Лазер направляется от координат (275,200) в сторону курсора. Код вставляем в главный фрейм.
Code
onEnterFrame=function(){
t_x=275//координата "х" от которой идет лазер
t_y=200//координата "y" от которой идет лазер
ugol=Math.atan2(_ymouse - 200, _xmouse - 275) / Math.PI * 180;//определяем угол относительно курсора
for(i=1;i<300;i++){
t_x += 3 * Math.cos(ugol/180*Math.PI);//передвигаем точку
t_y += 3 * Math.sin(ugol/180*Math.PI);
if(ground.hitTest(t_x,t_y,true)){ //условие выхода из цикла (когда попадаем на мувик "ground")
i=301
}
this.createEmptyMovieClip("aa",1)//рисуем линию
with(aa){
lineStyle(1,0xFF0000)
moveTo(275,200)
lineTo(t_x,t_y)
}
}
}
ИСХОДНИК (9 версия flash)
СКОМПИЛИРОВАННЫЙ ФАЙЛ (9 версия flash)
Что бы все выглядело красиво - можно увеличит частоту до 30 фпс.
Скриншоты: