再描画領域を表示する

(サンプル一覧を表示する)

FlashDevelop を使って、再描画領域を表示するテストをしてみました。

デバッグ版の Flash Player の画面上で右クリックすると「再描画領域の表示」という項目が出てきますが、それをコードで ON・OFF することができます。

コードで ON にすると便利なところは、 赤以外の色が付けれるところでしょうか。。
それくらいしか違いはありません。
再描画領域を最小にする必要がある GUI コンポーネント等を作ってる人は、
コードで切り替えられた方がチェックしやすいかもしれませんね。

この機能は、デバッグ版の Flash Player でないと動かないそうです。
Flash の実行画面
再描画領域を表示する

Flashプレーヤーが入っていないか、JavaScriptが無効になっているようです。

Get Adobe Flash player

再描画領域を表示する
Firefox の人は、Flash の画面内と画面外を交互にクリックすると
背景が更新されて、黄色いのが減ると思います。
IE の人は、 右クリックして「再描画領域を表示」の
チェックを付けたり消したりして動作チェックをしてみてください。

ソースコード

package 
{
	import flash.display.Bitmap;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.profiler.showRedrawRegions;
	
	/**
	 * 再描画領域を表示するサンプル
	 * @author Hikipuro
	 */
	public class Main extends Sprite 
	{
		/**
		 * 埋め込み画像
		 */
		[Embed(source='../image/test001.png')]
		private var image1:Class;
		
		/**
		 * ビットマップ
		 */
		private var bitmap:Bitmap;
		
		/**
		 * 回転の角度
		 */
		private var angle:int = 0;
		
		/**
		 * 回転の半径
		 */
		private var r:int = 80;
		
		/**
		 * コンストラクタ
		 */
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
		
		/**
		 * 初期化イベント
		 * @param	e
		 */
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			
			// ビットマップの準備
			bitmap = Bitmap(new image1);
			bitmap.cacheAsBitmap = true;
			bitmap.scaleX = 2.0;
			bitmap.scaleY = 2.0;
			addChild(bitmap);
			
			// 再描画領域を黄色で表示する
			showRedrawRegions(true, 0xffff00);
			
			// フレーム開始イベント登録
			addEventListener(Event.ENTER_FRAME, onEnterFrame);
		}
		
		/**
		 * フレーム開始イベント
		 * @param	event
		 */
		private function onEnterFrame(event:Event):void
		{
			angle += 2;
			bitmap.x = ((320 - bitmap.width) / 2)  + Math.cos(angle / 180 * Math.PI) * r;
			bitmap.y = ((240 - bitmap.height) / 2)  + Math.sin(angle / 180 * Math.PI) * r;
		}
		
	}
	
}		

参照

外部リンク