Matrix3DのinterpolateToメソッドは使いやすい?

Matrix3DのinterpolateToメソッドは、
ちょっとしたアニメーションを作成するのにいいかもしれません。


Pointのinterpolateと同じものなのですが、
Matrix3Dは、回転や縮小までアニメーションにしてくれます。
かなり使い勝手がいいですよ。


以下、ソース。
sp2がsp1に重なるようにアニメーションをするプログラム。

package {
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.geom.*;
	
	[SWF(width=800, height=600, backgroundColor=0xAADDFF)]

	public class Main02 extends Sprite {
		
		private var sp1:Sprite = new Sprite();
		private var sp2:Sprite = new Sprite();
		
		public function Main02() {
			sp1 = initRect(100, 100, 0xFF0000);
			sp1.rotationX = 80;
			addChild(sp1);
			
			sp2 = initRect(500, 500, 0x0000FF);
			addChild(sp2);
			
			addEventListener(Event.ENTER_FRAME, onEnterFrame);
		}
		
		private function initRect(x:Number, y:Number, c:uint):Sprite {
			var s:Sprite = new Sprite();                            
			s.x = x;
			s.y = y;
			s.z = 0;
			s.graphics.beginFill(c);
			s.graphics.lineStyle(5);
			s.graphics.drawRect(-50, -50, 100, 100);
			s.graphics.endFill();
			return s;
		}
		
		private function onEnterFrame(event:Event):void {
			sp2.transform.matrix3D.interpolateTo(sp1.transform.matrix3D, 0.1);
		}
	}
}