トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     別のfunctionで定義したイベントリスナーをremoveしたい
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
t_t_o_o
Åê¹ÆNo.41547
投稿日時: 2009-2-23 18:06
新米
居住地:
投稿: 7
使用環境:
別のfunctionで定義したイベントリスナーをremoveしたい
functionの中で、別のfunctionで定義したイベントリスナーをremoveしたいのですが、うまくいきません。
解決の方法がわかるようでしたら何かヒントでも
教えていただければと思います。
下記は現状書いているのがこんな感じというコードです。

宜しくお願いします。



this.stop();

aaa(mc001);
bbb(mc002,1);

function aaa(mcName:MovieClip){
	mcName.addEventListener( MouseEvent.MOUSE_OVER , btnMoHandler);
	mcName.addEventListener(MouseEvent.MOUSE_OUT, btnRoHandler);
}

function bbb(mcName:MovieClip,type:Number){
	if (type==1) {
		mcName.scaleX=2;
		mcName.scaleY=2;
		mcName.gotoAndPlay(2);
		mcName.addEventListener(MouseEvent.CLICK,btnClickHandler);
		mc001.removeEventListener(MouseEvent.MOUSE_OVER,btnMoHandler);
		mc001.removeEventListener(MouseEvent.MOUSE_OUT,btnRoHandler);
	}else{
		mcName.scaleX=2;
		mcName.scaleY=2;
		mcName.gotoAndPlay(2);
		mcName.addEventListener(MouseEvent.CLICK,btnClickHandler);
	}
}
野中文雄
Åê¹ÆNo.41548
投稿日時: 2009-2-23 18:34
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 別のfunctionで定義したイベントリスナーをremoveしたい
うまくいきません」では、具体的な情報を何も伝えません。また、スクリプトには説明が必要ですし、可能なかぎり単純化すべきでしょう。→【スクリプトを見てください】【問題を単純化(シンプルに)しない
引用:
t_t_o_oさんは書きました:
functionの中で、別のfunctionで定義したイベントリスナーをremoveしたいのですが、うまくいきません。
...[中略]...
var mc001:MovieClip = new MovieClip();
var mc002:MovieClip;
mc001.graphics.beginFill(0x0000FF);
mc001.graphics.drawRect(10, 10, 100, 100);
addChild(mc001);

aaa(mc001);
// bbb(mc002,1);

function aaa(mcName:MovieClip){
	mcName.addEventListener(MouseEvent.MOUSE_OVER, btnMoHandler);
	// mcName.addEventListener(MouseEvent.MOUSE_OUT, btnRoHandler);
}

function bbb(mcName:MovieClip,type:Number){
	if (type==1) {
	/*
		mcName.scaleX=2;
		mcName.scaleY=2;
		mcName.gotoAndPlay(2);
		mcName.addEventListener(MouseEvent.CLICK,btnClickHandler);
		*/
		mc001.removeEventListener(MouseEvent.MOUSE_OVER,btnMoHandler);
		/*
		mc001.removeEventListener(MouseEvent.MOUSE_OUT,btnRoHandler);
	}else{
		mcName.scaleX=2;
		mcName.scaleY=2;
		mcName.gotoAndPlay(2);
		mcName.addEventListener(MouseEvent.CLICK,btnClickHandler);
	*/
	}
}

function btnMoHandler(eventObject:MouseEvent):void {
	trace(eventObject);
	bbb(mc002,1);
}

なお、必ずご使用の環境をお書添えください。プロフィールに記入されることをお勧めします。


----------------
 

t_t_o_o
Åê¹ÆNo.41554
投稿日時: 2009-2-24 15:19
新米
居住地:
投稿: 7
使用環境:
Re: 別のfunctionで定義したイベントリスナーをremoveしたい
野中 様

お礼の方、遅くなって申し訳ありません。
スクリプトの修正から、投稿のご指摘までしていただいて
ありがとうございます。
次回からは、ちゃんと上記のノートを参照させていただいて
投稿させていただくようにいたします。

また、もし不手際なことがありましたら、ご指摘していただければと思います。

以上、宜しくお願いいたします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops