본문 바로가기

FLASH/AS3.0팁

등속운동 구현방법입니다.

게임에서 쓸려고 등속운동 코드 만들었습니다.

이 모션도 그냥 잔머리로 구현하려고 했더니 어렵더군요.

 

//등속운동
var angle:Number;
var distance:Number;
var posX:Number;
var posY:Number;

stage.addEventListener("click", setPos);

function setPos(e){
 posX = mouseX;
 posY = mouseY
 trace("posX:"+posX);
 trace("posY:"+posY); 
 stage.addEventListener("enterFrame", onEnter);
}

function onEnter(e){
 var tx;
 var ty;
 tx = posX - mc.x;
 ty = posY - mc.y;
 angle = Math.atan2(ty, tx) * 180 / Math.PI;  //무비클립과 클릭한점과의 각도
 distance = Math.sqrt(tx*tx + ty*ty);  //무비클립과 클릭점과의 거리
 if(distance > 5 ){
  mc.x = mc.x + Math.cos(angle*(Math.PI/180))*10; //등속운동
  mc.y = mc.y + Math.sin(angle*(Math.PI/180))*10; //등속운동  
 }else{
  stage.removeEventListener("enterFrame", onEnter);
 }
}



등속운동.fla