flash で MovieClip 中の特定の場所を中心に動かす

なんか文字で書くとよくわからんのですがsample な感じです。トゥイーンと合わせるにはどうしたらいいかなぁ〜?っと考えてたらこうなりました。モーションガイドとかね。

なんか、無駄に長時間かけて作りましたが、よくよく考えて作りなおしたらすぐできたり orz。どうにも、MovieClip の階層が絡んでいる拡大縮小は苦手です。

/** * MovieClip 全体を移動させ、 * 特定の MovieClip を中心に動いているように見えるテスト。  *  */class Scroller extends MovieClip{	private var point_mc:MovieClip;		private var orgPosition:Object;	private var orgDimension:Object;		private var holdPointPos:Object;		private var rate:Number;					/**	 * コンストラクタ	 */	function Scroller() {		this.initDimension();						this.holdPointPos = null;		this.rate = 1;	}			/**	 * 位置とサイズを保持する	 */	private function initDimension():Void {		this.orgPosition = {x:this._x, y:this._y};		this.orgDimension = {w:this._width, h:this._height};	}			/**	 * ポイントの位置を固定する	 * 	 * @param doHold ポイントの位置を固定するときには true	 */	public function hold( doHold:Boolean):Void {		if( doHold == true ) {			var p:Object = {x:this.point_mc._x, y:this.point_mc._y};			this.localToGlobal(p);			this.holdPointPos = p;		} else {			this.holdPointPos = null;						this.resetPosition();		}	}			/**	 * 拡大率を設定する	 * 	 * @param scale 拡大率(パーセント指定)	 */	 public function setScale( scale:Number):Void {	 	this.rate = scale / 100;	 		 	this._width = this.orgDimension.w * rate;	 	this._height = this.orgDimension.h * rate;	 }			/**	 * ムービークリップ全体を移動させる	 * 	 */	private function moveWholeMovieClip():Void {		var p:Object = {x:this.point_mc._x, y:this.point_mc._y};		this.localToGlobal(p);		var box:Object = this.getBounds( this );		var boxMinPoint:Object = {x:box.xMin, y:box.yMin};				this.localToGlobal(boxMinPoint);				this._x += (this.holdPointPos.x - p.x);		this._y += (this.holdPointPos.y - p.y);	}			/**	 * 位置を初期位置に戻す	 */	private function resetPosition():Void {		this._x = this.orgPosition.x;		this._y = this.orgPosition.y;	}		/**	 * onEnterFrame	 */	private function onEnterFrame():Void {		if( this.holdPointPos != null ) {			this.moveWholeMovieClip();		}	}}