2011-09-20 4 views
3

반은 이제 반쯤 작동합니다. 각도가 반올림하여 반올림 한 것처럼 보이기 때문에 반 작동합니다. 여기에 코드가 있습니다.AS3 : 회전 각도로 물체를 이동

public function drive(e:Event) 
{ 
    speedX =Math.sin(carObj.rotation*(Math.PI/180))*2; 
    speedY = Math.cos(carObj.rotation*(Math.PI/180))*2*-1; 
    carObj.x += speedX * speed; 
    carObj.y += speedY * speed; 
} 

누구나 눈을 돌릴 수 없을 정도로 눈에 띄는 정확한 각도를 얻을 수있는 더 나은 방법을 알고 있으며 주어진 속도로 그 방향으로 물건을 번역합니다.

답변

8

은 신경 끄시 해결 :

var carAngle:Number = carObj.rotation * Math.PI/180; 
carObj.x = carObj.x + speed * Math.cos(carAngle); 
carObj.y = carObj.y + speed * Math.sin(carAngle); 
0
뿅 얼굴에 약간의 각도로 움직이는 무언가를 타격 이후

// 회전 ...

var speedX:Number = randomRange(-10,10); // function generating random numbers 
var speedY:Number = randomRange(-10,10); 

carObj.x += speedX; 
carObj.y += speedY; 

function calculateAngle() 
{ 
var radians:Number = 180/Math.PI; 
//Calculate rotation 
var walkdirection = - (Math.atan2(tempAlien_mc.oldX - tempAlien_mc.x, tempAlien_mc.oldY - tempAlien_mc.y))*radians; 
//Rotating Car 
tempAlien_mc.rotation = walkdirection; 
} 

function randomRange(minNum:Number, maxNum:Number):Number 
{ 
    return (Math.floor(Math.random() * (maxNum - minNum + 1)) + minNum); 
} 
관련 문제