くだらないFlash

 

残像スクリプト

   

ParaFla!0.9a2使用

サンプルプロジェクト1 ダウンロード

サンプルプロジェクト2 ダウンロード

ParaFla!のスプライトに自動で残像を付けるスクリプト

スクリプトの解説

スクリプトの仕込み方

1)ターゲット(元になるアニメーション)は、スプライトで作成しておきます。

  スプライトの入れ子はほとんど上手く動かないと思われます。(再生ヘッダを操作する都合上で)

2)アイテムリストにあるターゲットのスプライトのプロパティで、スプライト名を付けます。

3)ターゲットのスプライトをイベントに登録します。

4)イベントリストにあるターゲットのスプライトのプロパティで、インスタンス名を付けます。

  スプライト名やインスタンス名は半角のアルファベットで付けるのが望ましいです。

5)残像用のスプライトをアイテムリストに登録します。 6)残像用のスプライトをイベントに登録します。

  画面の深度はターゲットより低くしておくのが望ましいです。

7)残像用のスプライトのプロパティから以下のスクリプトをコピペします。

onClipEvent(load){
	//残像の数
	numAfimg = (1);
	//繰り返し 0:あり 1:なし 
	mode = (2);
	for(var i=0;i<numAfimg;i++){
		ret = this.attachMovie("(3)","afimg" + i,numAfimg - i);
		ret._alpha = 75 - (i + 1) * (75 / (numAfimg + 1)); 
		ret.stop();
	}
}
-
onClipEvent(enterFrame){
	targetClip = (4);//ターゲットのパス
	tf = targetClip._totalframes;//スプライトの総フレーム数 
	cf = targetClip._currentframe;//ターゲットの現在のフレーム 
	for(var i=0;i <numAfimg;i++){
		tmp = cf - (i + 1); 
		mc = this["afimg" + i];
		if(mode == 0){ 
			if(tmp <= 0) tmp = tf + tmp;
		}else{ 
			if(tmp <= 0){
				mc._xscale = 0;//フレームが0以降ならスプライトを見えなくする 
				mc._yscale = 0; 
			}else{ 
				mc._xscale = 100; 
				mc._yscale = 100; 
			} 
		} 
		mc.gotoAndStop(tmp); 
	}
}

8)スクリプトの以下の項目を書き換えをする。

(1)残像の数を数値で入力します。(数が多いと動作が重くなります)

(2)ターゲットが繰り返しアニメーションなら0を創でないなら1を入力します。

(3)ターゲットのスプライト名を入力します。( " は消さない様に気を付ける事)

(4)ターゲットのインスタンス名をパスで入力します。(メインのイベントにターゲットを配置した場合は、_root.インスタンス名)

残像の調整

ret._alpha = 75 - (i + 1) * (75 / (numAfimg + 1)); ここの75と言う数値で残像の掛かり方を調整できます。

100とか50で試してみてください。 プレビューで動作を確かめてください。