任意秒数タイムラインをストップ

| | comments(0) | truckbacks(0)

AS2版をむかーし晒したんですがそれをAS3に作り替えた。
ただ単純にタイムラインを止めておいて、設定した秒数後にまた走らせるだけのクラス。世間ではいろんな高機能クラスライブラリを公開している方々が群雄割拠する中、どうなんだろう、これ。

でも気にしない。



package com.nrd_studio
{
	import flash.utils.Timer;
	import flash.events.TimerEvent;
	import flash.events.MouseEvent;
	import flash.display.MovieClip;
	import flash.display.SimpleButton;
	
	public class Staytime extends MovieClip
	{
		private static var _target:MovieClip;
		private static var _counter:Number;
		private static var timer:Timer = new Timer(0);
	
		public static function wait(target:MovieClip, counter:Number):void
		{
			_target = target;
			_counter = counter*1000;
			
			_target.stop();
			
			timer.delay = _counter;
			timer.start();
			timer.addEventListener(TimerEvent.TIMER, timerHandler);
		}
		
		static function timerHandler(e:TimerEvent):void
		{
			timer.reset();
			_target.play();
		}
		
		public static function cancel():void
		{
			timer.stop();
			timer.reset();
			_target.play();
		}
	}
}

止めたいフレームで

Staytime.wait([止めたい対象],[止めたい秒数]);

//example
Staytime.wait(this,3);

強制的に停止を解除してタイムラインを走らせたい場合は別途ボタンとか使ってcancel()メソッドを呼び出す。

btn.addEventListener(MouseEvent.CLICK, clicked);
function clicked(e:MouseEvent):void
{
	Staytime.cancel();
}
Check

トラックバック(0)

このブログ記事を参照しているブログ一覧: 任意秒数タイムラインをストップ

このブログ記事に対するトラックバックURL: http://www.nrd-studio.com/mt/mt-tb.cgi/136

コメントする

このブログ記事について

このページは、Biz_Rが2008年8月25日 13:07に書いたブログ記事です。

ひとつ前のブログ記事は「【Papervision3D】#3 texture」です。

次のブログ記事は「配列シャッフル」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。