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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     SWF再生終了後
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
safari130
Åê¹ÆNo.45954
投稿日時: 2010-9-28 20:48
新米
居住地:
投稿: 5
使用環境:
winXP,FlashCS3(as3)
SWF再生終了後
safari130と申します。
下記お時間ございましたら何卒よろしくお願いいたします。
■win/cs3/as3/

下記スクリプトをタイムライン上に記述し
SWF再生終了後にステートメントを発生させたいと思っております。

■SWFを読み込む→制御するためにMovieClipに変換→currentFrame == totalFramesになった段階で→ステートメント
のつもりで書いております。

しかしながらステートメントが発生いたしません。
かつエラーがでません。

MovieClipへの変換が間違っているのか?と考え、色々やってみましたが…
…助けてもらえませんでしょうか。

var video:Loader = new Loader();
var a_video = new MovieClip();
var a_URL:URLRequest = new URLRequest("名前.swf");

video.contentLoaderInfo.addEventListener(Event.COMPLETE, loadHandler);
video.load(a_URL);


function loadHandler(event:Event):void{
addChild(video);
a_video = video.content as MovieClip;

if ( a_video.currentFrame == a_video.totalFrames ) {

      ステートメント

}
}

よろしくお願いいたします。
野中文雄
Åê¹ÆNo.45955
投稿日時: 2010-9-28 21:12
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: SWF再生終了後
「読込みの終了」を待っているだけで、「SWF再生終了」は待っていないからです。SWFを外部読込みすることは一旦脇に置いて、タイムラインにあるMovieClipインスタンスの「再生終了」で処理することから試された方がよいのではないでしょうか。
引用:
safari130さんは書きました:
下記スクリプトをタイムライン上に記述し
SWF再生終了後にステートメントを発生させたいと思っております。

■SWFを読み込む→制御するためにMovieClipに変換→currentFrame == totalFramesになった段階で→ステートメント
のつもりで書いております。
video.contentLoaderInfo.addEventListener(Event.COMPLETE, loadHandler);
// ...[中略]...
function loadHandler(event:Event):void {
	addChild(video);
	a_video = video.content as MovieClip;
	trace(a_video, a_video.currentFrame, a_video.totalFrames);
	// ...[後略]...


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

safari130
Åê¹ÆNo.45957
投稿日時: 2010-9-29 11:03
新米
居住地:
投稿: 5
使用環境:
winXP,FlashCS3(as3)
Re: SWF再生終了後
Fumio様

ご返事ありがとうございます。
引用:

「読込みの終了」を待っているだけで、「SWF再生終了」は待っていないからです。

大変参考になります。もう少し頑張ってみます。
引用:

タイムラインにあるMovieClipインスタンスの「再生終了」で処理することから試された方がよいのではないでしょうか。


おっしゃる通り、しっかりと学んでいくのが近道と考えております。しかしながら、今回、先方から渡されたSWF(flaファイルなし)を使用しなければならず、大変困っております。

もし可能であればもう少しヒントをいただければと思っております。
よろしくお願いいたします。



ひろゆき
Åê¹ÆNo.45958
投稿日時: 2010-9-29 11:25
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: SWF再生終了後
引用:
safari130さんは書きました:

今回、先方から渡されたSWF(flaファイルなし)を使用しなければならず、大変困っております。

もし可能であればもう少しヒントをいただければと思っております。

ヒントを提示しても、結局のところ、ご自分で試行錯誤するなどの必要があるように思いますが。
もし、その時間もない、ということであれば、そのSWF自体を提示するか、
外注されるとかも視野に置かれた方がよいのでは?

AS3.0 外部SWF読み込み後 停止しておきたい
MovieClipの再生が終わったらremoveChildしたい
AS3.0 swfを順番に再生したい
が参考になると思います。
#これらのスレッドでもよく分からないということでは、
#到底お一人では解決できないように思います。



外部SWF(test.swf)が、AS3.0で作られ、
メインタイムライン上でモーショントゥイーンがついており、
スクリプトが一切書かれていないSWFだという前提で、
main.swfに、test.swfを読み込むものとします。

main.flaのドキュメントクラス
Main.as
package {

	import flash.display.Sprite;
	import flash.display.MovieClip;
	import flash.display.Loader;
	import flash.events.Event;
	import flash.net.URLRequest;

	public class Main extends Sprite {
		private var loader:Loader;
		private static var filePath:String = "test.swf";
		private var content:MovieClip;

		public function Main() {
			init();
		}

		private function init():void {
			loader = new Loader();
			loader.contentLoaderInfo.addEventListener(Event.INIT, initialize, false, 0, true);
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete, false, 0, true);
			loader.load(new URLRequest(filePath));
		}
		private function initialize(evt:Event):void {
			evt.target.removeEventListener(Event.INIT, initialize);
			content = MovieClip(evt.target.content);
			content.stop();
			addChild(content);
		}
		private function complete(evt:Event):void {
			evt.target.removeEventListener(Event.COMPLETE, complete);
			content.play();
			addEventListener(Event.ENTER_FRAME, update, false, 0, true);
		}
		private function update(evt:Event):void {
			if (content.currentFrame == content.totalFrames) {
				content.stop();
				removeEventListener(Event.ENTER_FRAME, update);
			}
		}

	}

}
前提条件と異なるtest.swfの場合は、動作保証はできません。


----------------
質問する際は、回答者に具体的な情報を与えてください。

safari130
Åê¹ÆNo.45959
投稿日時: 2010-9-29 13:56
新米
居住地:
投稿: 5
使用環境:
winXP,FlashCS3(as3)
Re: SWF再生終了後
mayor様

大変感謝いたします。
希望の動作ができるようになりました。
大変ご迷惑をおかけいたしました。

※希望の動作はできましたが肝心の理解ができておりません…、
もっと勉強いたします。

今回は本当にありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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