Tips


転送量軽減や、管理上の都合で、リンク先は基本的にテキストになってます。ご了承下さい。

仕様の補足説明

Famous Writerの動作について、マニュアルに記載の無い部分をご説明いたします。

他のソフトウェアとの連携

サンプルコード

ライブラリに掲載するほど大がかりでない小技集です。
無償で改変OK連絡不要で自由にお使い下さい。改造したものをご自分のHPなどで配布しても構いません。

サンプルコード・2

以下、v2との絡みがあるんで、以前のものをそのまま掲載しておきます。


アニメーション機能を使った、目パチ、口パクの例を。
・目パチ用のアニメ画像:/eye_1.bmp, /eye_2.bmp, /eye_3.bmpの3枚
・口パク用のアニメ画像:/lip_1.bmp, /lip_2.bmp, /lip_3.bmpの3枚
として、用意してある物とします。

# 背景レイヤーに背景を読み込む
	&Ly= 0; &LdCG= /background.bmp
# レイヤー1は立ち絵
	&Ly= 1; &LdCG= /tachi_1.bmp;
# ↑ここまではアニメしない時と一緒

# レイヤー2は目パチ(非透過で高速化)
	&Ly= 2;	&Transparent=0; &Pos= 320,80;
		&LdCG= /eye_1.bmp, /eye_2.bmp, /eye_3.bmp;
		&Anim= 10,yes,5,yes;

# レイヤー3は口パク(非透過で高速化)
	&Ly= 3;	&Transparent=0; &Pos= 336,184;
		&LdCG= /lip_1.bmp, /lip_2.bmp, /lip_3.bmp;
		&Anim= 10,yes,100,no; &VoiceSync = yes;

# 描画
	&Draw= 1;

# テキスト(セリフ再生と同時に口パクが始まるので特別な命令はいらない)
	【脇役】&v=voice1.aif&「セリフ1」
	と脇役は言った。
	【脇役】&v=voice2.aif&「セリフ2」
	と脇役は叫んだ。
	【脇役】&v=voice3.aif&「セリフ3」
	と脇役は泣いた。

# 背景や立ち絵の切り替え前にはLClearしとかないと、アニメのレイヤーが残ってしまう
	&LClear= 2; &LClear= 3;

#-------- 次のシーン --------
# レイヤー1に別の立ち絵
	&Ly= 1; &LdCG= /tachi_2.bmp;

# 以下同文

オープニングなどで、時間軸で処理を管理する方法の例です。
時間軸なので、マシンスペックによる動作の違いを多少は吸収できます。
また、時刻をチェックすることにより、遅いマシンでシーンが飛ばせるようにもなります。

# タイマーのリセット
	&TimerReset;

@scene1
	# ここにシーン1(1秒)
	&Wait = Timer:1000; # &TimerReset;から1秒経過まで待つ

@scene2
	# ここにシーン2(1.5秒)
	%var = &Timer; ?%var > 3700 : &Jmp = @scene4; # 3.7秒経過してた場合はシーン3を飛ばして4へ
	&Wait = Timer:2500; # &TimerReset;から2.5秒経過(1+1.5)まで待つ

@scene3
	# ここにシーン2(1.2秒)
	&Wait = Timer:3700; # &TimerReset;から3.7秒経過(1+1.5+1.2)まで待つ

@scene4
	# 以下続く

選択肢で色を変えたい場合は、直前のテキスト行末で変えておくといいでしょう。
v3では、テキストにインライン命令が使えます。

# 直前のテキスト
コンパクトディスク(CD)の収録時間は?&c=123456&

# 選択肢
&select = 78分: &jmp= @78 ,76分: &jmp= @76 ,74分: &jmp= @74 ,72分: &jmp= @72 ;

v2以前では、サブルーチンコールみたいなものはないので、&Jmpが文字変数を使えるのを利用して、次のように対応してください。
v3では、&Call〜&Return が使えます。

	なんかの処理。

# 次の処理のアンカーを変数に入れておく
$sub.return= @next;
# で、飛んじゃう
&jmp= @sub;

# サブルーチンからここに飛んでくる
@next;
続きの処理

#----------------
# サブルーチン
#----------------
@sub;
処理
&jmp= $sub.return;

アンカーをつけかえればいいだけなので($sub.returnの右辺)、他の所からもガンガン呼べます。
また、このように変数名を「$(サブルーチン名).return」と命名に工夫しておけば、何段でも入れ子にしてサブルーチンを呼べます(再帰はだめですけど)。


ホームへ戻る

Ads by TOK2