我想制作一个sqare,当我按下lefr或右箭头键时旋转,当我按下箭头键时,我希望它朝着它面向的方向。我不知道动作脚本2是否可行......
答案 0 :(得分:0)
在AS2中,您可以应用基于速度返回新xy的向量
function setVector(dir:Number, speed:Number):Array
{
var xspeed:Number = Math.cos(dir*Math.PI/180)*speed;
var yspeed:Number = Math.sin(dir*Math.PI/180)*speed;
var retArray:Array = new Array(xspeed, yspeed);
return retArray;
}
您需要计算帧时间以提供准确的移动
var frameStartTime:Number = getTimer();
var frameTime:Number = getTimer();
var direction:Number = 10;
var speed:Number = 50;
var coords:Object = new Object();
this.onEnterFrame = function():Void
{
frameTime = frameStartTime - getTimer();
frameStartTime = getTimer();
tileVector = setVector(direction, (Number * frameTime));
coords.x = Number(coords.x) + Number(tileVector[0]);
coords.y = Number(coords.y) + Number(tileVector[1]);
tileMC._x = coords.x;
tileMC._y = coords.y;
}
我没有完全测试过这段代码,但它应该......指出正确的方向......请忽略双关语。