AS3.0 | マウスポインタ変更時のオブジェクトの無効化について

マウスのポインタを変更したい場合にリンケージしたオブジェクト、もしくはgraphicsで描画したものをPoint(stage.mouseX,stage.mouseY)にaddChildしてMouse.hide()しますよね。
その場合、表示コンテナに複数のオブジェクトがあった場合、当然新しく生成したポインタオブジェクトの深度はstage.numChildren-1(最前列)にすると思うんですが、もしその他オブジェクトにマウスイベントが登録されていた場合、マウスポインタ座標には新しく生成したポインタオブジェクトが最前列に存在しているためにイベントに触れられません。かといって深度を下の階層に設定するとせっかく切り替えたポインタオブジェクトが他のオブジェクトに隠れてしまいます。
のでそんな状態を回避するにはこんな感じ。


mouseEnabledでイベントを受け取らなくしてmouseChildrenでオブジェクトの子に対してマウスを無効化出来ます。上記の場合以外でも色々使えそうだな~。
しかしAS3.0は深度管理が絶対的なカンジですね。。

trackback(0)

このブログ記事を参照しているブログ一覧: AS3.0 | マウスポインタ変更時のオブジェクトの無効化について

このブログ記事に対するトラックバックURL: http://www.dubfrog.net/mt/mt-tb.cgi/28

comment