« p370〜p432 | メイン | p207 »

ダブルクリック(子供に触らないで!)

正誤データばかりではなんなので、ちょっとは役立つネタを(^ ^;;;
AS3からダブルクリックを取るために次のようにdoubleClickEnabledプロパティをtrueにします。ところが、これだけではうまくいかないケースが多いんです。
my_mc.addEventListener(MouseEvent.DOUBLE_CLICK, onWClick);
my_mc.doubleClickEnabled = true;
function onWClick(event:MouseEvent):void{
	trace(event.target);
}

それはDisplayObject(ここではmy_mc)が入れ子になっている場合です。my_mcが入れ子の場合、そのchildのdoubleClickEnabledプロパティもtrueにしなければなりません。でも、childがたくさんあったり、childにさらにchildがある場合など、面倒でキリがありません。
どうにかならんのか〜とキレそうになるんですが、いい解決策があります。それは、my_mcの子供をマウスでいじらないで!とmouseChildrenプロパティの値をfalseにするのです。これで解決です。
my_mc.addEventListener(MouseEvent.DOUBLE_CLICK, onWClick);
my_mc.doubleClickEnabled = true;
my_mc.mouseChildren = false;
function onWClick(event:MouseEvent):void{
	trace(event.target);
}

About

2007年12月 5日 11:06に投稿されたエントリーのページです。

ひとつ前の投稿は「p370〜p432」です。

次の投稿は「p207」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。