; ; 旧ツクアド版 ; サンプルスクリプト「説明」 ; ;<-この記号(セミコロン)の後ろには何を書いても無視されます。 ; コメントとしてお使いください。 ; ; 初期画面 ------------------------------------------------- fadeout ; 画面をブラックアウト。 load town1_1b grp0 0 ; grp0という変数にtown1_1b.jpgという ; 画像をセットしている。 ; 最後の0という数字は重なり順。 ; 例えば背景は0から99、キャラは100以降 ; という具合に指定する。 fit grp0 ; grp0に読み込まれた画像を画面サイズに ; 自動的に伸縮する。(背景用) paint grp0 ; ここで初めて画面に表示される。 fadein ; 画面をブラックイン。 load face_b02 grpWoman 100 zoom grpWoman 150 150 ; grpWomanに読み込まれた画像の ; サイズを指定倍率で伸縮する。 ;(単位は%) move grpWoman 0 -30 ; 画像を横に0、縦に-30移動。 ; (単位はピクセル) ; なお、画面サイズは550×400。 paint grpWoman wipe ; 先ほどの画面表示と違いwipeが ; 付いている。 ; こうすると徐々に表示される。 text ; セリフの始まり。 こんにちは。ツクローアドベンチャー(仮)へようこそ。 本日は私がこのソフトの説明をさせていただきますね。 endtext ; セリフの終わり。 ; メニューと、if、goto、ラベルの使い方 -------------------- menu kekka0 ; 選択結果がkekka0という変数に入る。 よろしく ; 1行目が選択されればkekka0 = 0 あなたはだれ? ; 2行目が選択されればkekka0 = 1 さようなら ; 3行目が選択されればkekka0 = 2 endmenu ; kekka0が0ならlbl010へジャンプする。 if kekka0 = 0 goto lbl010 if kekka0 = 2 goto lbl999 text 初めまして。私はタビダットの宿屋を営んでいるものです。 どうぞよろしくお願いします。 endtext goto lbl020 *lbl010 ; *がつくとラベル(gotoの飛び先) text こちらこそよろしくお願いします。 endtext *lbl020 ところで、少しさびしいのでBGMを演奏しましょうか? ; ↑このように1行文なら「text」と「endtext」は省略可能。 menu kekka0 はい いいえ どちらでも endmenu ; if、then、else、endifの使い方 -------------------------- ; ※さきほどのようなif、goto、ラベルで何でもできるが ; 読みにくい。もっとよい方法がこれ。 if kekka0 = 0 then ; 「はい」を選んだときここに来る。 本当によろしいですか? menu kekka1 もちろん やっぱりやめておく endmenu ; ifの中に別のifを書く(入れ子にする)こともできる。 if kekka1 = 0 then music A16_038 ; A16_038.mp3を読み込みながら演奏 text 演奏を開始しました。 ネットワークの状況によっては、始まるまで 時間がかかることもあります。 endtext endif else if kekka0 = 1 then ; 「いいえ」を選んだときここに来る。 はい、わかりました。静かなほうがいいですね。 else ; 「どちらでも」を選んだときここに来る。 text そうですか、どうしましょう・・・ うーん ・・・ ・・・ endtext では、やめておきましょう! endif ; 変数への代入や加減算の仕方 ----------------------------- こんなところで立ち話もなんですから、私の部屋へ移動しますね。 load h_Childroom grp1 1 fit grp1 cntLoop = 2 ; cntLoopという変数に2をセット。 *lblLoop010 if cntLoop <= 0 then はぁ、はぁ 行ったり来たりでもう疲れました。 ここで続けますよ。 goto lbl030 endif paint grp1 wipe ここでよろしいですか? menu kekka0 はい いいえ endmenu if kekka0 = 1 then では戻りますね erase grp1 wipe ; 表示した画像を消す。 ここでよろしいですか? menu kekka1 はい いいえ endmenu if kekka1 = 1 then ・・・ cntLoop - 1 ; cntLoopから1を引く。 goto lblLoop010 endif endif では、ここにしますね。 *lbl030 ; 人を呼んでくる ----------------------------------------- そうそう、ちょっと待っててください。 clear erase grpWoman wipe wait 12 zoom grpWoman 120 120 move grpWoman -111 0 paint grpWoman wipe load face_b06 grpChild 101 zoom grpChild 110 110 move grpChild 111 -10 paint grpChild wipe text 女の子 「こんにちは!」 endtext text 女主人 「この子が自分の特技を見せたいというので 少しおつきあいしてあげてください。」 endtext text 女の子 「いい?いくよ。」 endtext ; waitを使ったアニメーション ----------------------------- cntAnim = 5 zoomAnim = 110 *lblLoop050 zoomAnim + 2 move grpWoman -40 0 move grpChild -22 0 zoom grpChild zoomAnim zoomAnim wait 1 ; 1カウント(1/12秒)待つ。 cntAnim - 1 if cntAnim > 0 goto lblLoop050 erase grpWoman ; 効果音の鳴らし方 --------------------------------------- 「その前に聞いておくよ。効果音を出してもいい?」 menu kekka0 いいよ だめだよ endmenu if kekka0 = 0 then ; msgはtextと違ってクリック待ちしない。 msg 「効果音を準備中だよ。ちょっと待ってね。」 endtext loads SE_CARE ; SE_CARE.mp3を読み込む。 「準備オッケー!」 sound SE_CARE ; 読み込んだSE_CAREを鳴らす。 else 「じゃ、出さないね」 endif ; フェードイン、アウトの色は自由に設定可能 --------------- ; 未指定のときは黒 「次の中で、好きな色はどれ?」 *lblLoop070 menu kekka0 赤 青 緑 白 もうやめる endmenu if kekka0 = 4 goto lblEndLoop070 sound SE_CARE if kekka0 = 0 then fadeout FF0000 ; 赤(16進数で色を指定) fadein FF0000 else if kekka0 = 1 then fadeout 0000FF ; 青 fadein 0000FF else if kekka0 = 2 then fadeout 00FF00 ; 緑 fadein 00FF00 else if kekka0 = 3 then fadeout FFFFFF ; 白 fadein FFFFFF endif goto lblLoop070 *lblEndLoop070 「じゃ、またね!」 erase grpChild wipe unload grpChild ; 未使用画像の破棄 zoom grpWoman 150 150 locate grpWoman -96 -126 ; 画像の絶対座標指定 ; 画面中央が原点(0, 0) paint grpWoman wipe ; 最後に -------------------------------------------------- text 以上で説明を終わります。 え?全然説明になってないじゃないかって? そ、そうですね。 実はこのシナリオのスクリプトにコメントとして 説明が書き込んであります。それをご覧になるのが 理解しやすいのでお願いします。 endtext それでは、お疲れ様でした。 clear erase grpWoman wipe *lbl999 stopm; 演奏中の音楽を停止 clear fadeout end; スクリプト終了