ant*_*son 10 rotation actionscript-3
我希望这个物体围绕它的中心而不是左上角旋转.代码如下所示:
switch (event.keyCode)
{
case 37:
car.rotation = -90;
car.x -= 5;
break;
Run Code Online (Sandbox Code Playgroud)
因此,当我按下左键时,汽车向左转,但现在它向上跳了一点,因为它绕着顶角旋转.
谢谢
Bar*_*klı 21
以下将围绕中心旋转:
public function rotateAroundCenter(object:DisplayObject, angleDegrees:Number):void {
if (object.rotation == angleDegrees) {
return;
}
var matrix:Matrix = object.transform.matrix;
var rect:Rectangle = object.getBounds(object.parent);
matrix.translate(-(rect.left + (rect.width / 2)), -(rect.top + (rect.height / 2)));
matrix.rotate((angleDegrees / 180) * Math.PI);
matrix.translate(rect.left + (rect.width / 2), rect.top + (rect.height / 2));
object.transform.matrix = matrix;
object.rotation = Math.round(object.rotation);
}
Run Code Online (Sandbox Code Playgroud)
它将对象的中心转换为0,0然后旋转它然后将其转换回来.
小智 8
最简单的方法是将你的汽车精灵/ movieclip添加到另一个精灵上,其中x和y坐标是宽度和高度属性的一半.如果用adobe flash绘制汽车,你也可以将它拖到左上角,这样中心点就在中间.