シーンスクリプトの応用

ここでは、今までのカテゴリーで説明できなかったコマンドを含めた、総合的な応用スクリプトを説明します。

モーションの合成動作

「move」や「arc」などのモーション系の命令は、「wait」などを挟まない限り同時に実行されます。
その場合、それぞれの命令が合成された動きとなります。例えば、

	pl 1 pos 200 200
	cg 1 BQ01,1,1
	wait
	pl 1 move 80 600 200
	pl 1 arc 80 0 180 0 100

という命令を実行した場合、「move」と「arc」が合成されて、放物線を描くような動きをします。

ただし、「draw」や「wipe」などの描画とモーションを同時に実行すると、表示がおかしくなってしまうので、

	cg 1 ba01,1,1,1,1,1
	rdraw
	wait
	pl 1 amove3 60 600 300

のように、「wait」を入れて処理を待ってから動かすようにしてください。

その他の応用動作

1.m2系による非同期動作

ここまでで説明した動作はクリック等で次のメッセージを表示させてしまうと、モーションがスキップされてしまいます。
クリック等に関係なく、動作を継続させたい場合はm2系の命令文を使ってください。

	pl 1 pos 100 200
	cg 1 BQ01,1,1
	wait
	pl 1 m2move 150 700 200

150フレームが経過するまで、クリックしても画像「BQ01,1,1」の動作は止まりません。
これによって、クリックと非同期でモーションを動作させることができます。

m2系のモーションも他のモーションと組み合わせて使うことができます。
メッセージや他のモーションコマンドと組み合わせると、通常のコマンドでは表現できなかった動きをさせることもできます。
例えば次の命令ではメッセージをクリックすると同時に、その位置から「move」と「fade」の動きが加わります。

	pl 1 pos 100 200
	cg 1 BQ01,1,1
	wait
	pl 1 m2move 150 @+1200 @

	クリックすると飛び立ちます。

	pl 1 move 80 @ @-200 
	pl 1 fade 80 255 0

この時、クリックのタイミングによっては想定外の動きが出てしまうことがあるので注意してください。

非同期動作:モーション系コマンドについて「特殊モーション」参照

2.mc系による永続動作

同じ動作を永続的に繰り返す場合、mc系の命令を使います。

	cg 1 mcarc 30 90 450 30 0 0

継続モーションをストップさせるには「stop」命令を使ってください。

	cg 1 stop

継続動作:モーション系コマンドについて「特殊モーション」参照

stop:「リファレンス」参照

3.delay

タイミングのずれた動作をさせたい場合など、「wait」でなく「delay」を使う方法もあります。
「delay」を使うと、クリックに影響されることなく動作を遅らせることができます。

	cg 1 pos -100 200
	cg 1 BQ01,1,1
	wait
	cg 1 m2move 120 @+1000 @

	クリックしてください

	cg 1 delay 30
	cg 1 m2move 60 @ @-200
	cg 1 fade 60 255 0

//cg 1が画面内にあるうちにクリックすれば、30フレーム後に飛び立ちます

「delay」の効果は、再度「delay」を指定するか、対象バンクの初期化が行われるまで効果が継続されます。

	cg 1 delay

delay:「リファレンス」参照

パーティクル

1.パーティクルの起動

パーティクルスクリプトに従って画像を動かします。

パーティクルスクリプトはgame¥ptcl内に格納されています。
[script]には、そのファイル名を入れてください。
またパーティクルスクリプトで動かしたい画像は、game¥imageに格納してください。
パーティクルスクリプトに渡すパラメータについては、各パーティクルスクリプト内に記述されています。

画像「fg_snow」をパーティクルスクリプト「snow.wss」で降らせます。

	particle 0 snow fg_snow 100 5000 -2500 500 5 10 1 5 20 40 5 2 300 300

256×256以上の大きさの画像を使うことはできません。
また「BQ01,1,1」の様に、差分形式で画像を使うこともできません。

particle:「リファレンス」参照

2.パーティクルの停止

パーティクルを停止するには「stop」命令を使用してください。

	particle 0 stop

特殊命令文

1.keyskip

モーション中、キー入力による演出スキップをON/OFFする命令です。

	keyskip off
	wait 1

	pl 1 pos 100 200
	cg 1 BQ01,1,1
	wait
	pl 1 move 150 @+1200 @
	wait 50
	pl 1 move 100 @ @-200 
	pl 1 fade 100 255 0

	keyskip on
	wait 1

keyskip:「リファレンス」参照

2.auto

強制オートモードへの移行、解除を行います。

	auto on

	強制オートモードに移行しました。
	オートモードが解除されるまで、キー入力を受け付けなくなります。

	auto off

	強制オートモードを解除しました。

auto:「リファレンス」参照

3.str

文字列変数に任意の文字列を設定します。

例えば以下の指定を行うと、以降「$str1」を「昨日」という文字列として扱うことができます。

	str 1 昨日
	wait

男A	「$str1話したじゃないか!」

男B	「$str1? 何か言ってたっけ?」

str:「リファレンス」参照