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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   ActionScript 3.0 特設会議室
     MovieClipの再生が終わったらremoveChildしたい
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
KE173
Åê¹ÆNo.44442
投稿日時: 2010-2-21 23:04
新米
居住地:
投稿: 3
使用環境:
Vista,FlashCS4,AS3
MovieClipの再生が終わったらremoveChildしたい
20フレームのMovieClipを作成しました。
このMovieClipを「hogeMC」というクラス名でリンケージ書き出しします。

スクリプトから

var hoge:hogeMC = new hogeMC();
this.addChild(hoge);

すると通常はループ再生をしますが、
一回だけ再生して、再生が終わったらremoveChildするという動作をさせたいと思っています。

一応、「hogeMC」の最後のフレームで、

this.stop(); 
parent.removeChild(this); 

とすればできることがわかったのですが、
できればスクリプトは一カ所に収めたいのでaddChildしたスクリプト内でremoveChildも行いたいと思ってます。

このようなことは可能でしょうか?
よろしくお願いします。


FlashCS4,AS3.0


(初心者な為説明下手&長文すみません)






Takamoku
Åê¹ÆNo.44453
投稿日時: 2010-2-22 22:05
新米
居住地: 大阪
投稿: 27
使用環境:
Flash CS3
Flash 8 Pro
Flash MX 2004
Mac OS 10.5.7
Re: MovieClipの再生が終わったらremoveChildしたい
hogeMC内には一切スクリプトを書かずに、という事でしょうか。
でしたらENTER_FRAMEでの監視とかどうでしょう。

var hoge:hogeMC = new hogeMC();
addChild(hoge);

hoge.addEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
function onEnterFrameHandler(e:Event):void {
	if(e.currentTarget.currentFrame == e.currentTarget.totalFrames) {
		// 最後のフレームで削除		
		removeChild(hoge);
		hoge.removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
	}
}

でもこれは最終フレームにremoveChildを書いて削除するよりも負荷がかかります
Tonpoo (gaienboy改め)
Åê¹ÆNo.44454
投稿日時: 2010-2-22 22:45
職人
居住地: 東京・神宮前
投稿: 717
使用環境:
Windows 7 Professional,
Flash CS5 Pro,
Flash Player 10,1,102,64
Re: MovieClipの再生が終わったらremoveChildしたい
gaienboyです。
例えばMovieClip.addFrameScriptメソッドを使って
最終フレームにaddChildの処理を追加してみるとか?

【AS3.0】ドキュメントに載らないメソッド(addFrameScript) | プログラマ気分
http://wakuworks.jugem.jp/?eid=5


----------------
Tonpoo (a.k.a. gaienboy)
Tonpoo.com / TONPOOBLOG / twitter@tonpootwit

KE173
Åê¹ÆNo.44465
投稿日時: 2010-2-23 23:33
新米
居住地:
投稿: 3
使用環境:
Vista,FlashCS4,AS3
Re: MovieClipの再生が終わったらremoveChildしたい
レスありがとうございます。

Takamoku 様

確かにこれだとリアルタイムの処理になるので多少負荷がかかりそうですね。
しかし、フレームを取得する方法があるとは知りませんでした。
勉強になりました。


gaienboy 様

まさしくこれです。
ドキュメントに載ってないメソッドがあるとは思いませんでした。

今回はaddFrameScriptの方を使用しようと思います。
本当にありがとうございました。
flashlite
Åê¹ÆNo.44467
投稿日時: 2010-2-24 9:28
常連
居住地: 東京
投稿: 69
使用環境:
WinXP Win7
Flash CS3,Flash CS5.0

FlashPlayer
FlashLite 1.1、2.0、2.1、3.1(下記)
Docomo SO903i
SH-08A
SoftBank 911T
 922SH
945SHG
au W61SA
S004
Disney DM001SH
Willcom Windows Mobile
 WX341k
Re: MovieClipの再生が終わったらremoveChildしたい
KE173
Åê¹ÆNo.44478
投稿日時: 2010-2-25 22:06
新米
居住地:
投稿: 3
使用環境:
Vista,FlashCS4,AS3
Re: MovieClipの再生が終わったらremoveChildしたい
flashlite 様

過去ログにあったんですね。すみません。
一応検索したのですがこの記事にはたどり着けませんでした。
貴重な情報ありがとうございます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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