![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
Actionscript3.0で親のムービーから子のイベント指定して削除することは可能でしょうか?
親のステージに配置したmymcの中でballをENTER_FRAMEを使い動かしています。
親のステージに配置したbtnをクリックすることで、
ENTER_FRAMEを削除したいのですが、
下記のスクリプトだと、親のほうでmyenterframeが未定義と表示されてしまいます。
どのように記述すればよいのでしょうか?
よろしくお願いいたします。
ーーーーーーーーーーーーーーーーー親ーーーーーーーーーーーーーーーーー
btn.addEventListener (MouseEvent.CLICK, myclick);
function myclick(event:MouseEvent):void{
mymc.removeEventListener(Event.ENTER_FRAME, myenterframe);
}
ーーーーーーーーーーーーーーーーーmymcーーーーーーーーーーーーーーーーー
addEventListener(Event.ENTER_FRAME, myenterframe);
function myenterframe(evt:Event):void {
ball.x++;
}
No.1ベストアンサー
- 回答日時:
myenterframeはmymcの名前空間にいるので
mymc.removeEventListener(Event.ENTER_FRAME, mymc.myenterframe);
とやれば動くんじゃないですかね
ちなみに僕はこういうことするときはmymc側に
リスナーを全てremoveする為の
destroyメソッドとか用意するようにしてます
そういうふうにしておけばmymcにremoveしたいリスナーが増えたり
親のclick以外からもmymcのリスナーをremoveしたいとなったときも
書き換えが楽になるのでオススメ
回答ありがとうございます。
上記のやり方で出来ました。
>destroyメソッドとか用意するようにしてます
なるほど、便利そうですね。。
試してみたいと思います。
No.2
- 回答日時:
> 子のイベント指定して削除
と書かれましても
子はどこにどうやってロードしたのでしょうか?
それがわからないと子のイベントの削除などできませんが。。。
mymc.removeEventListener(Event.ENTER_FRAME, myenterframe);
と書かれていらっしゃるところから
「mymc」 という変数名の Loader に 子SWF をロードしたということでしょうか?
(Loader にしては変な名前ですが...)
なんだかよくわかりませんが
仮に 「mymc」 という名の Loader に 子SWF をロードしたということにします。
また
仮に 子SWF のファイル名を 「ko.swf」 ということにします。
その場合の親のフレームに書くスクリプト(例)↓
====================
//「mymc」という Loaderインスタンス を作成
var mymc:Loader = new Loader();
//「req」という「ko.swf」のURLリクエストを作成
var req:URLRequest = new URLRequest("ko.swf");
//「mymc」に「ko.swf」をロード
mymc.load(req);
//「mymc」をこのタイムラインに配置
this.addChild(mymc);
//---↑仮に以上のようにした場合↑---
//---↓質問箇所の回答は以下↓---
btn.addEventListener(MouseEvent.CLICK, myclick);
function myclick(event:MouseEvent):void {
//「mymc」にロードされたSWFコンテンツを
//ムービークリップとした参照変数「ko_mc」を作成
var ko_mc:MovieClip = mymc.content as MovieClip;
//「ko_mc」内のリスナーを削除
ko_mc.removeEventListener(Event.ENTER_FRAME, ko_mc.myenterframe);
}
====================
「↑仮に以上のようにした場合↑」 より上が変われば
当然
「↓質問箇所の回答は以下↓ 」 より下も変わります。
(本当の状況がわからないので 「仮に」の状況でしか回答できません。)
var ko_mc:MovieClip = mymc.content as MovieClip;
ko_mc.removeEventListener(Event.ENTER_FRAME, ko_mc.myenterframe);
myclick内の↑この2行は
要するに
Loader に 子SWF をロードした場合
Loader.content が 子SWF のメインタイムラインになります。
しかし
Loader.content を単純にそのまま指定すれば
Loader.content は DisplayObject として扱われるため
その「myenterframeプロパティ など取得できないよ!」ということになります。
そこで
Loader.content を MovieClip として扱うものとして
そのMovieClip 内の myenterframe関数 にアクセスしています。
そういう意味を含んだ2行です。
なお,この行↓は
var ko_mc:MovieClip = mymc.content as MovieClip;
次↓のようにしても良いです。
var ko_mc:MovieClip = MovieClip(mymc.content);
説明不足で申し訳ございません、
親のステージにムービークリップとして設置して、
インスタンス名をmymcとする、
という意味です。
ただ、子swfを設置するやり方も検討しておりましたので、
回答の方大変参考になりました。
稚拙な質問に丁寧にお答えいただき、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel ヘルプの[ロック解除]、<c0>、</c0> の意味は何ですか? 1 2023/02/20 16:58
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- その他(プログラミング・Web制作) pythonで、tkinterとpillowの組み合わせ 2 2022/08/16 17:42
- JavaScript Google reCAPTCHAについて 1 2023/02/22 14:37
- Excel(エクセル) エクセルのバージョン2016フリーズ改善策 5 2022/12/13 09:13
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- HTML・CSS CSSでiframe要素の編集 2 2022/10/09 20:53
- 日本語 漫画の一場面に関する日本語カテゴリの質問です。 2 2023/06/17 04:21
- JavaScript jsで質問です。 ボタンが二つ存在し、両方のボタンがクリックされたことをチェックしたいのですが、どの 4 2022/11/22 10:30
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画像表示をアルファでフェード...
-
○秒間実行 AS3
-
アセンブリ言語のcasl2について...
-
photoshopで書いた四角の枠の中...
-
python ボタンを押すと複数の関...
-
VBAからPDFのテキストフィールド
-
RPG(AS400)の本、サイトってあ...
-
【VB.NET】別Formのボタンが押...
-
static関数がmapファイルに載ら...
-
VBAで改行の入ったデータの正規...
-
accessの検索について質問です...
-
360度パノラマ写真をループでき...
-
AS3.0 でフェードイン、
-
フォームのテキストの入力数字...
-
【Photoshop】レイヤー効果の境...
-
場面が移り変わるときかっこよ...
-
外部テキストファイルより座標...
-
Flashでレーダーチャート
-
多言語を混在できるか。
-
ウインドウハンドルとインスタ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画像表示をアルファでフェード...
-
ムービークリップ変換について...
-
ActionScript スクロールメニュー
-
何で重なり合おうとするんでし...
-
ステージにある複数のインスタ...
-
for文を使ったボタン
-
配列に入れたムービークリップ...
-
○秒間実行 AS3
-
Actionscript3.0 子のイベント...
-
Actionscript3.0のクラス定義の...
-
FLASH 定型のASを登録しといて...
-
addChildの使い方
-
外部テキスト読み込みでマーキ...
-
AS3の配列の中にアクセス
-
関数を停止するには。。。。
-
as3 addEventListenerの動的な...
-
actionscript3.0 オブジェクト...
-
actionscript3.0 データ型について
-
複数mcのランダム再生とmc指定...
-
photoshopで書いた四角の枠の中...
おすすめ情報