Hatena::Groupnadesiko

雪乃☆雫のなでしこ日和

2016-04-18

シナリオファイルの仕様兼機能説明のサンプルシナリオ

| 21:53

 指定のファイル名で保存し、全部前のプログラムと同じフォルダに置いて実行。


・シナリオ.csv

$,自動改行,オン

!,ジャンプ,メニュー
#,---------------------------------------------------------------------
 *,メニュー
!,立ち絵オフ
!,テキストウィンドウオフ
#,--------------------------------------------------------
#, メニュー用
#,--------------------------------------------------------
$,テキストウィンドウサイズ,640,480
$,テキストウィンドウ表示位置,0,0
$,テキストウィンドウ半透明,0,0,640,480,50
$,テキストウィンドウ色,$000077
$,メッセージ書式,MS ゴシック|28|太字,$FFFFFF,$000000,3
$,メッセージ表示位置,170,20
$,メッセージ速度,0
$,行,0
$,ブリンク表示,295,440,300
$,選択肢表示位置固定,オフ
$,選択肢表示,170,0,300,25
#,--------------------------------------------------------
!,背景色,$FFFFFF,0
!,背景色,$DD6666,1
 
どの説明を見る? 
 
 
$,メッセージ書式,MS ゴシック|20|太字,$FFFFFF,$000000,3

!,選択肢,5
 -,  テキスト表示関係,説明1
 -,  グラフィック関係,説明2
 -,  シナリオ命令一覧,説明3
 -,  シナリオ設定一覧,説明4
 -,    終了する,終了
#,---------------------------------------------------------------------

#,---------------------------------------------------------------------
 *,説明1
#,--------------------------------------------------------
#, サウンドノベル風
#,--------------------------------------------------------
$,テキストウィンドウサイズ,640,480
$,テキストウィンドウ表示位置,0,0
$,テキストウィンドウ半透明,0,0,640,480,50
$,テキストウィンドウ色,$000077
$,メッセージ書式,MS ゴシック|20|太字,$FFFFFF,$000000,3
$,メッセージ表示位置,20,20
$,メッセージ速度,10
$,行,10
$,ブリンク表示,295,440,300
$,選択肢表示位置固定,オフ
$,選択肢表示,20,20,600,0
#,--------------------------------------------------------
!,背景色,$FFFFFF,1
!,テキストウィンドウオン,1
 サウンドノベル風の画面です。
 と言っても、中身はまったく一緒で、テキ
ストウィンドウのサイズや、メッセージの表
示位置を調整しているだけなので、背景はも
ちろん、立ち絵なども表示できるのですが、
とりあえず、文字の表示関係について。
/
 基本的に、普通に文章が入っている行は全
て、メッセージとして表示されます。
 して、『/』 半角スラッシュのみの行で
改ページと、どんどん沢山文章を表示したい
向きには、とっても楽ちんなんです。
/
 改行コードだけの行は、無視されるので、

1行けて表示したい時は、行頭にスペース
を入れます。
 
 こんな風に。
 
 自動では折り返さないので、自分で必要文字数に成型してください。
/
 末尾に『。』『」』『!』『?』があった
場合、改行(?)と見なし、クリック待ちに
なります。
 文中にあっても、それは普通に表示します。
$,自動改行,オフ
 これは、解除出来ます。
 文章を一気に全画面表示したり!
 止めずにどんどん流したい場合?
 解除時も、手動で改行は入れられます。
!,改行
 『。』『」』『!』『?』以外で改行した
い場合も、改行コマンドを入れて改行します。
/
$,自動改行,オン
メッセージは、
!,改行
$,メッセージ速度,150
表示速度も変えられますし、
$,メッセージ速度,10
!,改行
$,メッセージ書式,MS ゴシック|20|太字,$FFAAAA,$330000,3
色も、
!,改行
$,メッセージ書式,MS 明朝|20|太字,$FFFFFF,$000000,3
書体も、
!,改行
$,メッセージ書式,MS ゴシック|14|太字,$FFFFFF,$000000,3
 
サイズも、
!,改行
$,メッセージ書式,MS ゴシック|20|太字,$FFFFFF,$000000,3
$,メッセージ表示位置,200,100
表示位置も、
変えられます。
/
$,メッセージ表示位置,20,20
 改行、改ページの時に出る、ピカピカ。
 あれ、なんていうんですかね?
 とりあえずブリンクカーソルって呼んでる
けど・・・カーソルなのか・・・?
 
 とりあえず、それw
!,改行
$,ブリンク表示,600,445,300
 表示位置も、
!,改行
$,ブリンク表示,600,445,100
 表示速度も変えられますが、
!,改行
 のところ大きさや形状は変えられません。
 のうち変えられるようにするかも。
/
!,ジャンプ,選択肢説明

 *,選択肢説明
#,--------------------------------------------------------
$,テキストウィンドウサイズ,640,480
$,テキストウィンドウ表示位置,0,0
$,テキストウィンドウ半透明,0,0,640,480,50
$,テキストウィンドウ色,$000077
$,メッセージ書式,MS ゴシック|20|太字,$FFFFFF,$000000,3
$,メッセージ表示位置,20,20
$,メッセージ速度,10
$,行,10
$,ブリンク表示,295,440,300
$,選択肢表示位置固定,オフ
$,選択肢表示,20,20,600,0
#,--------------------------------------------------------
!,背景色,$FFFFFF,1
!,テキストウィンドウオン
 選択肢も表示出来ます。
 っていうか、メニュー画面自体が、選択肢
を使ったものでした。
 選択肢の隔を広く調整すると、メニュー
ボタンっぽくも使えます。
 サウンドノベルだと、表示してるメッセー
ジの下に選択肢がでるのが多いですかね?
!,選択肢,2
 -,先へ進む,選択肢説明2
 -,メニュー戻る,メニュー

 *,選択肢説明2
#,--------------------------------------------------------
$,テキストウィンドウサイズ,640,120
$,テキストウィンドウ表示位置,0,360
$,テキストウィンドウ半透明,0,0,640,120,50
$,テキストウィンドウ色,$000077
$,メッセージ書式,MS ゴシック|20|太字,$FFFFFF,$000000,3
$,メッセージ表示位置,15,15
$,メッセージ速度,10
$,行,0
$,ブリンク表示,600,445,300
$,選択肢表示位置固定,オン
$,選択肢表示,15,375,600,0
#,--------------------------------------------------------
!,テキストウィンドウオフ
!,背景色,$FFFFFF,1
!,テキストウィンドウオン
ビジュアルノベルだと、表示してるメッセー
ジをクリアして、先頭から表示するのが普通
ですよね。
!,選択肢,2
 -,先へ進む,選択肢説明3
 -,メニュー戻る,メニュー

 *,選択肢説明3
また、テキストウィンドウじゃない場所に、
選択肢を表示するパターンもあるかも?
メニュー画面もそれで作れます。
$,メッセージ書式,MS ゴシック|20|太字,$00AA77,$000000,2
$,選択肢表示,170,80,450,25

!,選択肢,4
 -,先へ進む,選択肢説明4
 -,サウンドノベル風選択肢を見る,選択肢説明
 -,ビジュアルノベル風選択肢を見る,選択肢説明2
 -,メニュー戻る,メニュー

 *,選択肢説明4
#,--------------------------------------------------------
$,テキストウィンドウサイズ,640,480
$,テキストウィンドウ表示位置,0,0
$,テキストウィンドウ半透明,0,0,640,480,50
$,テキストウィンドウ色,$000077
$,メッセージ書式,MS ゴシック|20|太字,$FFFFFF,$000000,3
$,メッセージ表示位置,20,20
$,メッセージ速度,10
$,行,10
$,ブリンク表示,295,440,300
$,選択肢表示位置固定,オフ
$,選択肢表示,20,20,600,0
#,--------------------------------------------------------
!,テキストウィンドウオフ
!,背景色,$FFFFFF,1
!,テキストウィンドウオン
 という感じで選択出来るのですが、指定し
たラベルへジャンプするだけで、フラグを立
てて先の方で分岐したりという機能は、の
ところありません。
 
 あと、セーブが出来ないとか、致命的;
!,改行
 
 それも、後の課題ですが・・・
/
 サウンドノベル風って言ってるのに、音が
鳴らないし!
 BGMにMIDIを鳴らすだけは出来たん
だけど、色々不備もあっては未実装です。
/
!,テキストウィンドウオフ,1
!,待機,1
!,ジャンプ,メニュー
#,---------------------------------------------------------------------

#,---------------------------------------------------------------------
 *,説明2
#,--------------------------------------------------------
#, ビジュアルノベル風
#,--------------------------------------------------------
$,テキストウィンドウサイズ,640,120
$,テキストウィンドウ表示位置,0,360
$,テキストウィンドウ半透明,0,0,640,120,50
$,テキストウィンドウ色,$000077
$,メッセージ書式,MS ゴシック|20|太字,$FFFFFF,$000000,3
$,メッセージ表示位置,15,15
$,メッセージ速度,10
$,行,0
$,ブリンク表示,600,445,300
$,選択肢表示位置固定,オン
$,選択肢表示,15,375,600,0
#,--------------------------------------------------------
!,背景色,$FFFFFF,1
!,テキストウィンドウオン
はやり(?)のビジュアルノベルと言えば、
やっぱりこんな感じの画面でしょうか。
/
ここから、グラフィック関係の説明をします
が、同じフォルダに画像がないと、たちまち
エラーが出るので、ご注意です。
/
!,選択肢,2
 -,先へ進む,グラフィック関係
 -,やめる,メニュー
#,---------------------------------------------------------------------

#,---------------------------------------------------------------------
 *,グラフィック関係
まずは背景を表示します
/
!,背景,背景1.jpg,1
こんな感じ。
パラメーターがあって、簡単なものですが、
トランジョンが付けられます。
/
!,ジャンプ,背景

 *,背景
$,選択肢表示,400,40,150,15
!,選択肢,7
 -,瞬時,トランジョン0
 -,フェード,トランジョン1
 -,縦スリット,トランジョン2
 -,横スリット,トランジョン3
 -,ブラック,トランジョン4
 -,モザイク,トランジョン5
 -,次へ進む,立ち絵

 *,トランジョン0
!,背景,背景2.jpg,0
0,瞬時
/
!,背景,背景1.jpg,0
!,ジャンプ,背景

 *,トランジョン1
!,背景,背景2.jpg,1
1,フェード
/
!,背景,背景1.jpg,1
!,ジャンプ,背景

 *,トランジョン2
!,背景,背景2.jpg,2
2、縦スリット
/
!,背景,背景1.jpg,2
!,ジャンプ,背景

 *,トランジョン3
!,背景,背景2.jpg,3
3,横スリット
/
!,背景,背景1.jpg,3
!,ジャンプ,背景

 *,トランジョン4
!,背景,背景2.jpg,4
4,ブラックインアウト
!,改行
 これだけもう一つパラメーターがあって、
黒以外の色も指定出来ます。
/
!,背景,背景1.jpg,4,$FF0000
!,ジャンプ,背景

 *,トランジョン5
!,背景,背景2.jpg,5
5,モザイク
/
!,背景,背景1.jpg,5
!,ジャンプ,背景


 *,立ち絵
 立ち絵を表示します
/
!,立ち絵ロード,立ち絵.bmp
!,立ち絵オン,1
背景は、ファイルを指定して直接表示しまし
たが、立ち絵とテキストウィンドウは、まず
ロードして、オンオフを設定します。
/
!,立ち絵オフ,3
オフにすると、いなくなったり・・・
/
!,立ち絵オン,1,50
半透明に表示することも出来ますよ。
サウンドノベルや、幽霊なんかに使えます。
/
のところ、サイズ固定で、一枚づつ表示す
るかたちで、立ち位置を変えたり、動かした
りは、できません。
/
テキストウィンドウも変えられます。
は画像を使わず、色とサイズを指定して、
半透明コピーしているだけですが・・・
/
#,--------------------------------------------------------
#, ビジュアルノベル風(テキストウィンドウ.bmp)
#,--------------------------------------------------------
$,テキストウィンドウサイズ,640,120
$,テキストウィンドウ表示位置,0,360
$,テキストウィンドウ半透明,15,13,608,95,60
$,テキストウィンドウ透過色,$00FF00
$,メッセージ書式,MS ゴシック|20|太字,$FFFFFF,$000000,3
$,メッセージ表示位置,18,18
$,メッセージ速度,10
$,行,0
$,ブリンク表示,590,438,300
$,選択肢表示位置固定,オン
$,選択肢表示,20,380,600,0
#,--------------------------------------------------------
!,テキストウィンドウロード,テキストウィンドウ.bmp
!,テキストウィンドウオン,1
このように、任意の画像を表示出来ます。
X,Y,W,Hで指定した範囲を半透明に、
それ以外を透過付きにできます。
/
だいぶ、ゲーム画面っぽくなりましたね!
/
・・・ぽくなっただけですけれどねぇ~;
/
うるさ~い!
/
!,振動
バキッ!
!,振動
ドカッ!!
!,振動
ゲシッ!!!
/
!,立ち絵オフ
ぴう~(飛んでった)
/
このように画面を揺らすことも出来ます。
/
!,立ち絵オン,3,50
ひ、ひどい・・・
/
あと、右クリックでテキストウィンドウが
隠せます。(選択肢表示中は不可です)
左右のクリックで復帰します。
/
!,立ち絵オフ
!,テキストウィンドウオフ
!,背景色,$000000,1
!,待機,1
!,ジャンプ,メニュー
#,---------------------------------------------------------------------


#,---------------------------------------------------------------------
 *,説明3
#,--------------------------------------------------------
$,テキストウィンドウサイズ,640,480
$,テキストウィンドウ表示位置,0,0
$,テキストウィンドウ半透明,0,0,640,480,0
$,テキストウィンドウ色,$000077
$,メッセージ書式,MS ゴシック|14|太字,$FFFFFF,$000000,3
$,メッセージ表示位置,20,20
$,メッセージ速度,0
$,行,10
$,ブリンク表示,295,440,300
$,選択肢表示位置固定,オフ
$,選択肢表示,20,20,600,0
$,自動改行,オフ
#,--------------------------------------------------------
!,背景色,$333377
!,テキストウィンドウオン
 このシナリオは、二次元配列を利用した『,』半角カンマ区
切りのcsvファイルです。
 エクセルとかで作って、csv出力した方が、書きやすいか
も知れないですが、むろんテキストエディタで書いても、拡張
子が『*.txt』であっても、問題ありません。
 ・・・が、本文中に半角カンマは絶対に使えません。
 どんな括弧で括ろうとも使えませんw
 必要の際は、全角カンマでごまかしてください;
 
 ちなみに、当然タブ区切りのテキストでも動作するようだし、
他にも何かあるかも知れないけど、そういうわけで本文はなる
べく全角で統一するのを推奨です。
/
 ・・・というわけで、ここではコマンドは全て、全角にして
表記しますが、実際は全部半角ですのでよろしくお願いします。
 
 テキスト関連の所でも述べましたが、二次元配列の0の桁に、
コマンドに指定されていない普通の文字列が入っていた場合は
全て、メッセージテキストと認識されます。
 画面の設定を変えずに、どんどん物語をすすめていくなら、
普通のテキストを必要文字数に成型し、必要行数で改ペー
ジしていけばいいのです。(『/』半角スラッシュ)
 なでしこで作ってるんだから、このくらい楽じゃなかったら
意味ないよ!
 でも、自動で折り返したり、改ページまではしませんので、
それはよろしくお願いします。
/
・改ページ
『/』または『!,改ページ』
 ぴかぴかを出して、クリック待ち。
 クリック後は、テキストウィンドウをクリアし、メッセージ
表示位置を先頭に戻す。
 
・改行
『!,改行』
 ぴかぴかを出して、クリック待ち。
 
・クリック待ち
『!,クリック待ち』
 ぴかぴかを出さずに、クリック待ち。
/
・待機待機,秒』
  (秒{数値=0})
 たとえ秒数が正確でなくても、気にしないで!
 
・コメント
『#,-----コメント行--------------』
 
・終了
『END,背景色』
  (背景色{数値=$000000})
 背景色にフェードアウト後、終了。
/
●シナリオ制御関連
 
・選択肢
『!,選択肢,選択肢数』
『-,選択肢表示文字列1,ラベル文字列1』
『-,選択肢表示文字列2,ラベル文字列2』
  (選択肢数{数値=3})
  (選択肢表示文字列ラベル文字列)
 
 『-』の行が実際の選択肢になります。
 選択肢と選択肢表示文字列は、必ずくっつけて書くこと。
白行が入ったら駄目。
 ラベル文字列に指定したラベルないとエラーになります。
/
・ジャンプ
『!,ジャンプ,ラベル文字列』
  (ラベル文字列)
 指定したラベルに飛ぶ。
 ラベル文字列に指定したラベルないとエラーになります。
 
『*,ラベル文字列』
 『*』の行はラベル。
 ラベル文字列は重複しないよう、要注意のこと。
 選択肢もジャンプも経ずにラベルに到達すると、「おわり」
と言って終了します。
/
●グラフィック関連
 
・背景の変更
『!,背景,背景画像ファイル名,トランジョン番号(0-5)
,トランジョン4の色』
  (背景画像ファイル名)
  (トランジョン番号{数値=0})
  (トランジョン4の色{数値=$000000})
『!,背景色,背景色,トランジョン番号(0-5),トラン
ジョン4の色』
  (背景色{数値=$000000})
  (トランジョン番号{数値=0})
  (トランジョン4の色{数値=$000000})
/
・立ち絵ロード
『!,立ち絵ロード,立ち絵画像ファイル名,透過色』
  (立ち絵画像ファイル名)
  (透過色{数値=$00FF00})
 
・立ち絵オンオフ
『!,立ち絵オン,トランジョン番号(0-3),透明度』
  (トランジョン番号{数値=0})
  (透明度{数値=100})
 
『!,立ち絵オフ,トランジョン番号(0-3)』
  (トランジョン番号{数値=0})
/
・テキストウィンドウロード
『!,テキストウィンドウロード,テキストウィンドウ画像フ
ァイル名,透過色』
  (テキストウィンドウ画像ファイル名)
  (透過色{数値=$00FF00})
 
・テキストウィンドウ オンオフ
『!,テキストウィンドウオン,トランジョン番号(0-3)』
  (トランジョン番号{数値=0})
 
『!,テキストウィンドウオフ,トランジョン番号(0-3)』
  (トランジョン番号{数値=0})
/
※トランジョン番号
 0、瞬時
 1、フェードイン
 2、縦スリット
 3、横スリット
 4、ブラックアウトイン(色{数値=$000000})
 5、モザイクアウトイン
 
 
・画面を揺らす
『!,振動』
 ちょっと画面を揺らした風に見せかける処理です。
/
!,テキストウィンドウオフ
!,背景色,$000000,1
!,ジャンプ,メニュー
#,---------------------------------------------------------------------

#,---------------------------------------------------------------------
 *,説明4
#,--------------------------------------------------------
$,テキストウィンドウサイズ,640,480
$,テキストウィンドウ表示位置,0,0
$,テキストウィンドウ半透明,0,0,640,480,0
$,テキストウィンドウ色,$000077
$,メッセージ書式,MS ゴシック|14|太字,$FFFFFF,$000000,3
$,メッセージ表示位置,20,20
$,メッセージ速度,0
$,行,10
$,ブリンク表示,295,440,300
$,選択肢表示位置固定,オフ
$,選択肢表示,20,20,600,0
#,--------------------------------------------------------
!,背景色,$333377
!,テキストウィンドウオン
●設定関連
 
・ウィンドウタイトルの変更
『$,キャプション,母艦のタイトル』
  (母艦のタイトル{文字列=なこノベル}
 
・自動改行
『$,自動改行,自動改行オンorオフ)』
  (自動改行数値オン})
 文末の『。』『」』『?』『!』で、改行処理を行うかどう
かを指定。
/
・メッセージの設定
 
『$,メッセージ書式,書体,文字色,影色,影距離』
  (書体{フォント|サイズ|スタイル=MS ゴシック|
20|太字})
  (文字色数値=$FFFFFF})
  (影色{数値=$000000})
  (影距離{数値=2}) ※大きいほど影が離れます。
/
『$,メッセージ表示位置,X,Y』
  (X,Y{数値=20,20})
 画面全体ではなく、テキストウィンドウ上のX,Yを指定し
ます。
 
『$,メッセージ速度,速度』
  (速度{数値=10}) ※0で瞬時。小さいほど早い。
 
『$,行,行』
  (行数値=0})
/
・選択肢の設定
 
『$,選択肢表示位置固定,選択肢表示位置固定(オンorオ
フ)』
  (選択肢表示位置固定{数値オン})
 オフにすると、表示しているメッセージの下に続けて表示。
 オンならメッセージを消し、選択肢表示Xと選択肢表示Yで
指定された位置に表示
/
『$,選択肢表示,X,Y,幅,隔』
  (X,Y{数値=20,20})
  (幅{数値=520})
  (隔{数値=0})
 選択肢の位置は、テキストウィンドウ上ではなく、画面全体
のX,Yを指定します。
 選択肢表示位置固定がオフの場合、選択肢表示Yの値は無視。
選択肢表示Xの値は有効です。
 初期値は,メッセージ表示位置と一緒。
/
・ぴかぴかの設定
 
『$,ブリンク表示,X,Y,速度』
  (X,Y{数値=*,*})
  (速度{数値=300}) ※小さいほど早い。
 画面全体ではなく、テキストウィンドウ上のX,Yを指定し
ます。
 初期値はテキストウィンドウの中央下部。
/
・テキストウィンドウの設定
 
『$,テキストウィンドウサイズ,幅,高さ』
  (幅,高さ{数値=640,480})
 
『$,テキストウィンドウ表示位置,X,Y』
  (X,Y{数値=0,0})
 初期値は、画面全体
/
『$,テキストウィンドウ半透明,X,Y,W,H,透明度』
  (X,Y,W,H{数値=0,0,640,480})
  (透明度{数値=50})
 テキストウィンドウの半透明にする部分の矩形。
 この範囲内に透過色があっても無視されます。
 初期値はテキストウィンドウ全体。
 
『$,テキストウィンドウ透過色,透過色』
  (透過色{数値=$00FF00})
 半透明にしないテキストウィンドウの枠に、透過したい部分
があった場合の透過色。
 テキストウィンドウロード時に個別にも指定出来ます。
/
『$,テキストウィンドウ色,テキストウィンドウ色』
  (テキストウィンドウ色数値=$000077})
 テキストウィンドウに画像を使わない場合の色。
 
 
・立ち絵の設定
『$,立ち絵透過色,透過色』
  (透過色{数値=$00FF00})
 全立ち絵の透過色を変えたい場合に使います。
 一枚だけという場合は、立ち絵ロード時に個別に設定出来ま
す。
/
!,テキストウィンドウオフ
!,背景色,$000000,1
!,ジャンプ,メニュー
#,---------------------------------------------------------------------
 *,終了
END

・背景1.jpg

f:id:snowdrops89:20160418214617j:image

・背景2.jpg

f:id:snowdrops89:20160418214616j:image

・立ち絵.bmp

f:id:snowdrops89:20160418214615j:image

・テキストウィンドウ.bmp

f:id:snowdrops89:20160418214614j:image

トラックバック - http://nadesiko.g.hatena.ne.jp/snowdrops89/20160418