偉い人に教えてもらったテクニック。

通常ゆっくり動かすときに1px以下だとカクカクした動きになります。

package  {
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Sprite;
	import flash.events.Event;
	/**
	 * ...
	 * @author 393

	 */
	public class Test extends Sprite{
		private var bm:Bitmap;
		//ライブラリに画像を用意し、クラス名Bmpでリンケージ。
		//画像サイズは400×300
		
		public function Test() {
			var bmd:BitmapData = new Bmp(0, 0);
			bm = new Bitmap(bmd);
			addChild(bm);
			
			addEventListener(Event.ENTER_FRAME , enterFrameHandler);
		}
		private function enterFrameHandler(e:Event):void {
			//かくかくと動く
			bm.x += 0.08;
			bm.y += 0.08;
		}
	}
}

スムーズに動かしたいときは、beginBitmapFill()を使えばOK。

package  {
	import flash.display.BitmapData;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.geom.Matrix;
	/**
	 * ...
	 * @author 393
	 */

	//ライブラリに画像を用意し、クラス名Bmpでリンケージ。
	//画像サイズは400×300
	
	public class Main extends Sprite{
		
		private var matrix:Matrix = new Matrix();
		private var bmp:BitmapData;
		private var sp:Sprite;
		private var mx:Number = 0;
		private var my:Number = 0;
		private var w:Number;
		private var h:Number;
		
		public function Main() {
			bmp = new Bmp(0, 0);
			sp = new Sprite();
			addChild(sp);
			buttonMode = true;
			this.addEventListener(Event.ENTER_FRAME , xEnterFrame);
		}
		function xEnterFrame (e:Event):void {
			mx += 0.05
			my += 0.05
			matrix.tx = mx;
			matrix.ty = my;
			sp.graphics.clear();
			//smoothプロパティをtrueにするのがポイント
			sp.graphics.beginBitmapFill(bmp, matrix,false,true);
			sp.graphics.drawRect(mx, my, 400, 300);
			sp.graphics.endFill();
		}
	}
}

このときのポイントは、beginBitmapFill()の第3引数のsmoothをtrueにするということ。
(デフォルトはfalse)
falseのままだと、先のサンプルと同じくカクカクした動きとなります。

もっと簡単にできる方法を追加しました。
[AS]画像をゆっくり動かす方法 その2