Progression SWF Profiler デバック やってみた
Progressionのindex.asでSWF Profilerを以下のように書き込んで使ってやるとうまくいかなかったのでどうにかならないかやってみた。
原因はおそらく
1の方法でSWF Profilerのコンテキストメニューの参照を Progressionのコンテキストメニューにいれてやろうかと思ったけど、CastMovieClip.contextMenu できるかなとおもったけどできなかったので保留。
Progressionでコンテキストメニュー追加はどうやるのかと、別の疑問が。。
2の方法は、Progressionオブジェクトを SWF Profiler に渡すとうまくいかない。SWF Profilerの中身をのぞいてみると第2引数の
と記述されておりProgressionのオブジェクトの参照がうまくいかなそうな予感がしなくもない。
3の方法は、上にあるので上にある方を参照してしまうだろうのでいい。
で解決案として、SWF Profiler用のオブジェクトを作成し、そいつに割り当ててやればいいんじゃないかと思います。
SWFProfiler.init(stage, this);
原因はおそらく
- Progressionのオブジェクトが右クリックの対象の場合、Progressionの自分で作ったコンテキストメニューにうまく追加ができない(自分の力不足)
- SWFProfiler.init(stage, this);のthisでのProgressionオブジェクトの登録がよろしくない。
- コンテキストメニューを登録したProgression以外のオブジェクトより上にProgressionオブジェクトの設置
1の方法でSWF Profilerのコンテキストメニューの参照を Progressionのコンテキストメニューにいれてやろうかと思ったけど、CastMovieClip.contextMenu できるかなとおもったけどできなかったので保留。
Progressionでコンテキストメニュー追加はどうやるのかと、別の疑問が。。
var menu_item:ContextMenuItem = new ContextMenuItem("Test",false,true,true); var menu_cm:ContextMenu = new ContextMenu (); menu_cm.customItems = [menu_item]; CastMovieClip.contextMenu = menu_cm;//ここおかしいだろ
2の方法は、Progressionオブジェクトを SWF Profiler に渡すとうまくいかない。SWF Profilerの中身をのぞいてみると第2引数の
(swf : Stage, context : InteractiveObject)
と記述されておりProgressionのオブジェクトの参照がうまくいかなそうな予感がしなくもない。
3の方法は、上にあるので上にある方を参照してしまうだろうのでいい。
で解決案として、SWF Profiler用のオブジェクトを作成し、そいつに割り当ててやればいいんじゃないかと思います。
// SWF Profiler用のスプライト var shape:Sprite = new Sprite(); stage.addChild(shape); shape.graphics.beginFill ( 0xFF9999 , 0.8 ); shape.graphics.drawRect(0,0,200,200); shape.graphics.endFill(); //shapeのコンテキストメニューにSWFProfilerを登録してやる。 SWFProfiler.init(stage, shape);
