1
我想製作一個類似於rotateAroundInternalPoint()
的功能。到目前爲止,我的解決辦法是這樣的:圍繞點的連續物體旋轉
import flash.events.Event;
import flash.geom.Matrix;
import flash.geom.Point;
addEventListener(Event.ENTER_FRAME, onFrame);
function onFrame(e:Event):void
{
var m:Matrix = item.transform.matrix.clone();
var point:Point = new Point(50, 50); // The object's width and height are 100px, so 50 is the center
point = m.transformPoint(point);
m.translate(-point.x, -point.y);
m.rotate(5 * (Math.PI/180));
m.translate(point.x, point.y);
item.transform.matrix = m;
}
但是有這個代碼的根本缺陷 - 它變得越來越少精確,每次迭代。
有人可以指出是什麼原因造成的,以及解決方案是什麼?
我仍然接受一個更好的答案,不依賴於參考矩陣,而是依賴於更好的數學。 –