1
我試圖讓一個對象圍繞其中心點旋轉,但我注意到在旋轉過程中對象正在遠離其原始點。 這是我的代碼:圍繞中心點在ActionScript 3.0中的完美旋轉
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.display.Shape;
var rectangle:Shape = new Shape ;
var timer:Timer = new Timer(1,360);
rectangle.graphics.beginFill(0xFF0000);
rectangle.graphics.drawRect(0, 0, 100,100);
rectangle.graphics.endFill();
rectangle.x = 200;
rectangle.y = 200;
addChild(rectangle);
timer.addEventListener(TimerEvent.TIMER,rotateNOW);
timer.addEventListener(TimerEvent.TIMER_COMPLETE,rotationDone);
function rotateNOW(e:TimerEvent)
{
var matrix:Matrix = rectangle.transform.matrix;
var rect:Rectangle = rectangle.getBounds(rectangle.parent);
matrix.translate(- (rect.left + (rect.width/2)), - (rect.top + (rect.height/2)));
matrix.rotate((1/180)*Math.PI);
matrix.translate(rect.left + (rect.width/2), rect.top + (rect.height/2));
rectangle.transform.matrix = matrix;
}
function rotationDone(e:TimerEvent)
{
timer.reset();
timer.start();
trace("x:",rectangle.x,"y:",rectangle.y); //to observe the x y changes
}
timer.start();
有什麼辦法沒有問題旋轉?
我通過類似的方式解決了這個 - 使用其他container.Thank你! – user2987971