0
public class GameEnter extends MovieClip
{
public function GameEnter()
{
addEventListener(MouseEvent.MOUSE_DOWN, shootBullet);
}
public var _bullet1:bullet = new bullet;
public var angleRadian = Math.atan2(mouseY - 300,mouseX - 300);
public var angleDegree = angleRadian * 180/Math.PI;
public function shootBullet(evt:MouseEvent)
{
_bullet1.x = 300;
_bullet1.y = 300;
_bullet1.angleRadian = Math.atan2(mouseY - 300,mouseX -300);
_bullet1.addEventListener(Event.ENTER_FRAME, bulletEnterFrame);
addChild(_bullet1);
}
public var speed1:int = 10;
public function bulletEnterFrame(evt:Event)
{
_bullet1.x += Math.cos(_bullet1.angleRadian) * speed1;
_bullet1.y += Math.sin(_bullet1.angleRadian) * speed1;
_bullet1.rotation = _bullet1.angleRadian*180/Math.PI;
checkHit();
if (_bullet1.x < 0 || _bullet1.x > 600 || _bullet1.y < 0 || _bullet1.y > 600)
{
removeChild(_bullet1);
_bullet1.removeEventListener(Event.ENTER_FRAME, bulletEnterFrame);
}
}
public function checkHit()
{
if(_bullet.hitTestObject(enemy))
{
trace("Enemy hit");
}
}
}
} 는 본질적으로 무슨 일이 약 10 배 "를 적 명중"출력합니다입니다. 나는 궁금합니다. 어떻게 "적의 적중"을 한 번 추적 할 수 있을까요? 문제는 모든 프레임에 대해 총알이 적에 있다는 것인데, 그것을 인쇄한다는 것입니다. 단 한 번만 인쇄하도록 수정하는 방법은 무엇입니까?hitTestObject가 두 번 이상 출력합니까?
결국 "trace ("Enemy hit ");" 기능 또는 무엇인가.