個人事業主の方必見!確定申告のお悩み解決

お世話になっております。

actionscript3でFLASHサイトを製作しております。
マウスオーバー、マウスアウト、マウスクリックのイベント機能を付与したムービークリップ型のボタンがあり、ボタンモードを有効にしています。
button.buttonMode = true;

マウスオーバーの際はムービークリップの指定のフレームからアニメーション処理を行っています。
button.addEventListener(MouseEvent.MOUSE_OVER, btnOver);
function btnOver(event:MouseEvent):void {
button.gotoAndPlay(2);
}

このボタンを、あるイベントが実行された時にボタンとしての機能をなくし、尚且つマウスオーバー、マウスアウトのアニメーション処理も無効化したいと思い、以下の処理を行いました。
ボタンモードは無効になりましたが、マウスオーバー、マウスアウト、クリック処理は無効にならず、動作してしまいます。

button.buttonMode = false;
button.mouseEnabled = false;
button.enabled = false;

上記の方法とは別にイベント処理を削除しようと思い、removeEventListener処理を行いましたが、「TypeError: Error #2007: パラメータ listener は null 以外でなければなりません。」というエラーが表示されてしまいました。

指定の仕方が間違っているのだと思いますが、何方かご教授いただけないでしょうか?
また、上記の方法以外で無効化する手段があればご教授いただければと思います。

宜しくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

> removeEventListener処理を行いましたが、


> 「TypeError: Error #2007: パラメータ listener は
> null 以外でなければなりません。」
> というエラーが表示

他のスクリプトは具体的であるのに,
この removeEventListener に関してだけ具体的ではないので,
どこがどう間違っているとは言えません。

例えば
「button」以外にボタンを作って
そのボタンに「button2」というインスタンス名を付け,
次のコードを書かれていらっしゃる function btnOver の下に書くと
エラーも出ませんしイベントリスナーも削除できますよ。

button2.addEventListener(MouseEvent.CLICK, removeButtonEvent);

function removeButtonEvent(event:MouseEvent):void {
button.buttonMode=false;
button.removeEventListener(MouseEvent.MOUSE_OVER, btnOver);
}
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング