メイン ActionScript 3.0 特設会議室 enabled、mouseEnabled が効かない | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
飯塚浩幸 | Åê¹ÆNo.41663 投稿日時: 2009-3-5 22:20 |
半人前 居住地: 群馬 投稿: 56
使用環境:
Mac OSX 10.4.10 FLASH CS3 |
enabled、mouseEnabled が効かない ステージ上にstart_mcというMovieClipを配置し
start_mcをクリックした直後にボタンとしての機能を 無効にしたいのですがうまくいきません。 以下のようにフレームアクションを記述しています。 start_mc.addEventListener(MouseEvent.CLICK, checkupStart); start_mc.buttonMode = true; function checkupStart(ev:MouseEvent):void { var mc:MovieClip = ev.currentTarget as MovieClip; mc.mouseEnabled = false; trace("click"); } 試しに mc.mouseEnabled = false; ↓ mc.enabled = false; に変更しても結果は同じです。 AS3を使用するようになってから 同様のことがよく起きるのですが 原因がわかりません。。。 ご教授頂けると助かります。 よろしくお願いします。
|
野中文雄 | Åê¹ÆNo.41665 投稿日時: 2009-3-5 23:44 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: enabled、mouseEnabled が効かない 私の環境では、とくに問題なく動作します。「うまくいきません」というのは、「ボタンとしての機能」が「無効」にならず、マウスクリックのリスナー関数が何度も呼出されるということですか?また、その問題はつねに発生するのでしょうか。
引用: meshiさんは書きました: |
飯塚浩幸 | Åê¹ÆNo.41670 投稿日時: 2009-3-6 13:05 |
半人前 居住地: 群馬 投稿: 56
使用環境:
Mac OSX 10.4.10 FLASH CS3 |
Re: enabled、mouseEnabled が効かない 野中さん、お返事ありがとうございます。
質問が曖昧ですいませんでした。 「うまくいきません」というのは、「ボタンとしての機能」が「無効」にならず、マウスクリックのリスナー関数が何度も呼出されるということです。 そして原因がわかりました。 実は、start_mc の中に更にinner_mcというMovieClipを入れ子にしていました。 このMovieClipに対してもmouseEnabledをfalseにすることで解決できました。 start_mc.addEventListener(MouseEvent.CLICK, checkupStart); start_mc.buttonMode = true; function checkupStart(ev:MouseEvent):void { var mc:MovieClip = ev.currentTarget as MovieClip; mc.mouseEnabled = false; mc.inner_mc.mouseEnabled = false; trace("click"); } 入れ子になったMovieClipにmouseEnabledを設定する場合 その中身のMovieClipにも適用させないとダメなんですね。 勉強になりました。
|
野中文雄 | Åê¹ÆNo.41671 投稿日時: 2009-3-6 13:29 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: enabled、mouseEnabled が効かない 入れ子のすべてを指定したい場合には、DisplayObject.mouseChildrenプロパティを設定する方法も考えられます。
参考: F-siteセミナー「イベントを制する者、ActionScript 3.0を制す」、「DisplayObjectContainer.mouseChildrenプロパティ」 引用: meshiさんは書きました: |
飯塚浩幸 | Åê¹ÆNo.41717 投稿日時: 2009-3-10 9:50 |
半人前 居住地: 群馬 投稿: 56
使用環境:
Mac OSX 10.4.10 FLASH CS3 |
Re: enabled、mouseEnabled が効かない なるほど。
mouseChildren = false; にしておけば、いちいち子のMovieClipにmouseEnabledを設定しなくても 大丈夫なわけですね。 ありがとうございました!
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |