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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   ActionScript 3.0 特設会議室
     MovieClipを任意のフレームでstopさせるには?
投稿するにはまず登録を

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
永井勝則
Åê¹ÆNo.38473
投稿日時: 2008-4-17 23:20
職人
居住地: 白馬村
投稿: 796
使用環境:
Windows 7 :Flash CS4:
10.6.8 :Flash CS5.5
Re: MovieClipを任意のフレームでstopさせるには?
地道な方法です。

//PlayMC.as
package {
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.text.TextField;

	public class PlayMC extends MovieClip {
		private var stopFrame:uint;

		public function PlayMC(frameNum:uint) {
			stopFrame=frameNum;
			stop();
		}
		
		private function checkFrameListener(evt:Event):void {
			frame_txt.text=currentFrame.toString();
			x+=Number(currentFrame/6)
			if (currentFrame>=stopFrame) {
				stop();
				removeEventListener(Event.ENTER_FRAME,checkFrameListener);
				trace(name+": STOP");
			}
		}
		
		public function playMC():void {
			addEventListener(Event.ENTER_FRAME,checkFrameListener);
			play();
		}
		
		public function stopMC():void {
			removeEventListener(Event.ENTER_FRAME,checkFrameListener);
			gotoAndStop(1);
			frame_txt.text=currentFrame.toString();
		}
	}
}



//メインのタイムラインのフレーム
var mc1:PlayMC=new PlayMC(50);
mc1.x=50;
mc1.y=50;
mc1.name="mc1";
addChild(mc1);

var mc2:PlayMC=new PlayMC(30);
mc2.x=50;
mc2.y=150;
mc2.name="mc2";
addChild(mc2);


mc1_play_btn.addEventListener(MouseEvent.CLICK,onPlay);
mc1_stop_btn.addEventListener(MouseEvent.CLICK,onStop);
mc2_play_btn.addEventListener(MouseEvent.CLICK,onPlay);
mc2_stop_btn.addEventListener(MouseEvent.CLICK,onStop);

function onPlay(evt:MouseEvent):void {
	var btnName:String=(evt.target.name).slice(0,3);
	this[btnName].playMC();
}

function onStop(evt:MouseEvent):void {
	var btnName:String=(evt.target.name).slice(0,3);
	this[btnName].stopMC();

}


----------------
永井勝則:
himco.jp :

ニノミヤ カズノリ
Åê¹ÆNo.38465
投稿日時: 2008-4-17 11:18
職人
居住地: 東京
投稿: 430
使用環境:
CS4
.4.11, .5.7
XP Pro(sp3)
Flash Player 10,0,22,87,
AIR 1.5.1,
IE 5.5 & 6 & 7 & 8,
Firefox 2.0.0.20 & 3.0.11 & 3.5,
Opera 9.64,
Safari 4,
Google Chrome 2.0.172.31,
Netscape 7.1
Re: MovieClipを任意のフレームでstopさせるには?
引用:
flashliteさんは書きました:
再生させて任意のフレームでstopさせるにはどうすればよいでしょうか?(10フレームだったり、1フレーム目だったり変化します)

MovieClipの1フレーム目にstop();が入っているのと同じような事を
後から設定したいのです。

正攻法ではないでしょうが、楽な方法として、
MovieClip.addFrameScript メソッドを使う手を紹介しておきます。
下記コードで任意のフレームで stop すると思います。
mc.addFrameScript(フレーム数, mc.stop);

ドキュメントに載ってませんので、こちらのリンクを参考にして下さい。
【AS3.0】ドキュメントに載らないメソッド(addFrameScript)
flashlite
Åê¹ÆNo.38462
投稿日時: 2008-4-17 5:35
常連
居住地: 東京
投稿: 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
MovieClipを任意のフレームでstopさせるには?
ActionScript3で
タイムラインでアニメーションするMovieClipを複数作ってます。

これを任意のフレームからplayするのは
mc.gotoAndPlay(nn);
で出来るのですが

再生させて任意のフレームでstopさせるにはどうすればよいでしょうか?(10フレームだったり、1フレーム目だったり変化します)

MovieClipの1フレーム目にstop();が入っているのと同じような事を
後から設定したいのです。

実際には、たくさんあるボタンのクリックで、それぞれ再生・停止までをさせたいのですが、毎回、全部にEnterFrameを作ってフレーム数を監視して・・Stopという面倒なやり方しか思いつかずに苦労してます。


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

« 1 (2)
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ

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