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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     「ムービー内のスクリプトが原因でMacromedia Flash Player 7 の実行速度が遅く・・・」Msgについて
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
TatsuoKato
Åê¹ÆNo.2864
投稿日時: 2004-1-14 2:30
新米
居住地: 東京
投稿: 24
使用環境:
Re: 「ムービー内のスクリプトが原因でMacromedia Flash Player 7 の実行速度が遅く・・・」Msgについて
引用:

youichさんは書きました:
2004でのスクリプティングで
従来のASとの妥協、折衷(ちょっと変ですね)のラインは↓のcmd,cmd2
あたりのやり方かな、と思うんですがどう思います?
(昼飯時に書いたので内容のつっこみは無しでおねがい?)

youichさん、こんばんは。
折衷案なんですが、個人的にはもう少しだけFlashならではのワザを取り入れても良いのかなという気はしますが、どんなもんでしょう。例えば、functionを渡せるとか、メソッドのオーバーロード無しに引数の組み合わせを変えられるといったあたりのメリットを生かして、こんな感じはどうなんでしょうか。
//BigLoop.as
class BigLoop {
	private var totalTimes:Number;
	private var frames:Number;
	private var timesPerFrame:Number;
	private var toDo:Function;
	private var callback:Function;
	private var count:Number = 0;
	private var mc:MovieClip;
	static var baseMC:MovieClip = _root.createEmptyMovieClip("BigLoopBaseMC", 200000);
	static var mcID:Number = 0;
	
	function BigLoop(totalTimes:Number, frames:Number, toDo:Function, callback:Function) {
		this.totalTimes = totalTimes;
		this.frames = frames;
		this.timesPerFrame = Math.floor(totalTimes/frames);
		
		this.toDo = toDo;
		this.callback = callback;
		
		this.mc = baseMC.createEmptyMovieClip("loopMC" + mcID, mcID);
	}
	function get Count() {
		return count;
	}
	function set ToDo(toDo:Function) {
		this.toDo = toDo;
	}
	function set Callback(callback:Function) {
		this.callback = callback;
	}
	
	function excute():Void {
		for (var j = 0; j < timesPerFrame; j++) {
			if (++count > totalTimes) {
				delete mc.onEnterFrame;
				callback();
				return;
			}
			toDo();
		}
		var obj = this;
		mc.onEnterFrame = function () {
			obj.excute();
		}
	}
}

//.fla
//トータル500回を10フレームかけて実行するloopオブジェクトの生成
var loop:BigLoop = new BigLoop(500, 10);
//500回実行する動作を指定
loop.ToDo = function () {
	trace(this.Count);
}
//コールバックの動作を指定
loop.Callback = function () {
	trace("done!");
}
//実行
loop.excute();

あくまでも単に好みとかスタイルの問題ではありますが。。。
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   「ムービー内のスクリプトが原因でMacromedia Flash Player 7 の実行速度が遅く・・・」Msgについて tiffin 2004-1-8 10:00
     Re: 「ムービー内のスクリプトが原因でMacromedia Flash Player 7 の実行速度が遅く・・・」Msgについて ymori 2004-1-8 10:48
       Re: 「ムービー内のスクリプトが原因でMacromedia Flash Player 7 の実行速度が遅く・・・」Msgについて tiffin 2004-1-8 15:54
     Re: 「ムービー内のスクリプトが原因でMacromedia Flash Player 7 の実行速度が遅く・・・」Msgについて TatsuoKato 2004-1-9 1:43
       Re: 「ムービー内のスクリプトが原因でMacromedia Flash Player 7 の実行速度が遅く・・・」Msgについて tiffin 2004-1-13 12:49
         Re: 「ムービー内のスクリプトが原因でMacromedia Flash Player 7 の実行速度が遅く・・・」Msgについて TatsuoKato 2004-1-13 19:43
       Re: 「ムービー内のスクリプトが原因でMacromedia Flash Player 7 の実行速度が遅く・・・」Msgについて youich 2004-1-13 15:54
       » Re: 「ムービー内のスクリプトが原因でMacromedia Flash Player 7 の実行速度が遅く・・・」Msgについて TatsuoKato 2004-1-14 2:30
           Re: 「ムービー内のスクリプトが原因でMacromedia Flash Player 7 の実行速度が遅く・・・」Msgについて tiffin 2004-1-16 9:04

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