您的位置:首页 > 其它

向量在游戏中的应用

2014-12-04 14:35 253 查看
在游戏中如何计算物体B位于A的方向(0°~360°)。

1、将物体A、B的位置转换成对应的向量V1、V2。

2、可以看到 V3=V2-V1 就是物体B位于A的方向

3、设U1、U2为V3、V(1,0)的单位向量。

4、计算角度:angle = Math.acos(U1*U2);

5、如果v2.y>=v1.y,angle = 360 - angle;





public function Test()
{
var p:Polygon = new Polygon(3,15);//三角形
p.x = 150;
p.y = 150;
addChild(p);

var point:Sprite = new Sprite();
point.graphics.beginFill(0x00ff00,0.5);
point.graphics.drawCircle(0,0,5);
point.graphics.endFill()
addChild(point);

var v1:Vector2 = new Vector2(p.x,p.y);
var v2:Vector2 = new Vector2();

stage.addEventListener(MouseEvent.MOUSE_MOVE,function(e:MouseEvent):void{
v2.x = mouseX;
v2.y = mouseY;
point.x = mouseX;
point.y = mouseY;
p.rotation = -Vector2.rotationAng(v1,v2);
});
}

三角形跟着鼠标旋转


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ActionScript