sub.sn の定義マクロ
[sys_scenario_start] シナリオ開始時共通処理
タイトルからゲーム本編を開始する際の処理を行なう。
引数無し。
シナリオファイル冒頭に記述するべき。
[sys_title_start] タイトル開始共通処理
ゲーム本編を開始する際の処理を行なう。
引数無し。
タイトルから本編、あるいはしおりロードから本編を開始する際に呼ぶ。
クリック待ち記号、フォント、セーブロード・設定画面などを準備する。
[wc] 文字数分のウェイトを入れる
文字数分のウェイトを入れる
属性 | 必須 | 省略時 | 値域・型 | コメント |
---|---|---|---|---|
time | y | 整数値 | 0.0〜 |
文字数を指定。 指定した文字数 x 文字表示ウェイト 分のウェイトを行なう |
[plc] 改ページ
改ページと関連処理を行なう。
改ページ記号を表示する前に「自動読み進み状態で」「音声が再生中」なら音声再生終了を待つ。
改ページ記号を表示しクリックを待ち、
押下後[er](テキストを消去)し[record_place](ゲーム状態をバッファに退避)する。
「履歴画面で選択位置から再開する」機能は配布状態では無効になっている。
『; [h_ss_upd] ; 〜』
『; [h_save] ; 〜』
のコメントを外し、シナリオファイル最初の[grp]直後に[h_save]を置くと有効になる。
属性 | 必須 | 省略時 | 値域・型 | コメント |
---|---|---|---|---|
no_voice_stop | n | false | Boolean | trueなら改ページ後、音声(バッファ名「音声」の効果音)をフェードアウトしない |
no_se_stop | n | false | Boolean | trueなら改ページ後、効果音(バッファ名「SE」の効果音)をフェードアウトしない |
visible | n | true | Boolean | trueで改ページ記号を表示、falseで非表示 |
[after_choice] 選択肢直後処理
[link]など選択肢直後にコールする。
引数無し。
[record_place]などを呼んでいます。
[txt_lay_v_left] テキストレイヤ縦書き左設定
文字レイヤを設定する。サンプルゲーム「櫻の樹の下には」の縦書き設定。
このマクロで文字レイヤ(page=back)に設定しておき、
[grp]で場面転換と共に文字レイヤの設定を変えるような使い方をする
属性 | 必須 | 省略時 | 値域・型 | コメント |
---|---|---|---|---|
layer | n | mes | レイヤ名 | 処理対象の文字レイヤ |
page | n | back | fore、back | ページの裏表 |
visible | n | true | Boolean | true:表示、false:非表示 |
l | n | 40 | 整数値 | テキストウインドウの左端横座標 |
w | n | 292 | 整数値 | テキストウインドウの横幅 |
pl | n | 属性l + 26 | 整数値 | テキストウインドウの左端から内側方向への、文字表示領域との間隔 |
pt | n | 66 | 整数値 | テキストウインドウの上端から内側方向への、文字表示領域との間隔 |
pr | n | 画面横幅 -(属性l +属性w ) + 26 | 整数値 | テキストウインドウの右端から内側方向への、文字表示領域との間隔 |
pb | n | 66 | 整数値 | テキストウインドウの下端から内側方向への、文字表示領域との間隔 |
fcol | n | 0xffffff | 色指定。0x000000など | テキスト色 |
b_color | n | 0x000000 | 色指定。0x000000など | テキストウインドウの背景色 |
b_alpha | n | sys:TextLayer.Back.Alpha | 0.0〜1.0(実数) | テキストウインドウの背景の透過度。 0(完全透明)〜0.5(半透明)〜1(不透明) |
[txt_lay_v_center] テキストレイヤ縦書き中設定
文字レイヤを設定する。「txt_lay_v_left(テキストレイヤ縦書き左設定)」を画面中央に移動したもの。
「txt_lay_v_left(テキストレイヤ縦書き左設定)」の設定に加え以下指定を行なったもの
属性 | 必須 | 省略時 | 値域・型 | コメント |
---|---|---|---|---|
l | n | 366 | 整数値 | テキストウインドウの左端横座標 |
[txt_lay_v_center_wide] テキストレイヤ縦書きWide中設定
文字レイヤを設定する。「txt_lay_v_center(テキストレイヤ縦書き中設定)」を画面中央に移動し、幅を広げたもの。
「txt_lay_v_center(テキストレイヤ縦書き中設定)」の設定に加え以下指定を行なったもの
属性 | 必須 | 省略時 | 値域・型 | コメント |
---|---|---|---|---|
l | n | 294 | 整数値 | テキストウインドウの左端横座標 |
w | n、固定 | 436 | 整数値 | テキストウインドウの横幅 |
[txt_lay_fullscreen] テキストレイヤ全画面設定
文字レイヤを設定する。全画面を覆うような設定
属性 | 必須 | 省略時 | 値域・型 | コメント |
---|---|---|---|---|
layer | n | mes | レイヤ名 | 処理対象の文字レイヤ |
page | n | back | fore、back | ページの裏表 |
visible | n | true | Boolean | true:表示、false:非表示 |
l | n | 16 | 整数値 | テキストウインドウの左端横座標 |
w | n | 画面横幅 -16 *2 | 整数値 | テキストウインドウの横幅 |
pl | n | 28 | 整数値 | テキストウインドウの左端から内側方向への、文字表示領域との間隔 |
pt | n | 42 | 整数値 | テキストウインドウの上端から内側方向への、文字表示領域との間隔 |
pr | n | 639 | 整数値 | テキストウインドウの右端から内側方向への、文字表示領域との間隔 |
pb | n | 479 | 整数値 | テキストウインドウの下端から内側方向への、文字表示領域との間隔 |
fcol | n | 0xffffff | 色指定。0x000000など | テキスト色 |
b_color | n | 0x000000 | 色指定。0x000000など | テキストウインドウの背景色 |
b_alpha | n | sys:TextLayer.Back.Alpha | 0.0〜1.0(実数) | テキストウインドウの背景の透過度。 0(完全透明)〜0.5(半透明)〜1(不透明) |
[sysmenu_draw] システムメニュー描画処理
文字レイヤ mes_sysmenu に表示するシステムメニューを設定する。
このマクロを改造し、ボタンの画像変更・位置変更・増減を行える。
属性 | 必須 | 省略時 | 値域・型 | コメント |
---|---|---|---|---|
no_sysmenu_draw | n | なにもしない | Boolean | trueを指定すると、次の[grp]などでの文字レイヤ[trans]などでシステムメニューを表示しない |
[sys_menu] システムメニュー表示切り替え
文字レイヤ mes_sysmenu に表示するシステムメニューを設定する。
このマクロを改造し、ボタンの画像変更・位置変更・増減を行える。
[grp] 場面転換
画面を暗転し背景を変更する。
文字レイヤをフェードアウトし、
クロスフェードしながら背景画像(レイヤ名baseの画像レイヤ)を変更、
前景レイヤ(レイヤ名0〜2の画像レイヤ)をクリアor画像変更し、
文字レイヤをフェードインする。
属性 | 必須 | 省略時 | 値域・型 | コメント |
---|---|---|---|---|
bg | y | 何もしない | 画像ファイル名 | 背景レイヤに対する画像ファイルを指定する |
fb | n | 何もしない | [add_face]で登録した差分名称(半角カンマ区切りで複数可能) | 背景レイヤに対する差分名称を指定する |
l0 | n | クリアする | 画像ファイル名 | 前景レイヤ0に対する画像ファイルを指定する |
f0 | n | 何もしない | [add_face]で登録した差分名称(半角カンマ区切りで複数可能) | 前景レイヤ0に対する差分名称を指定する |
pos0 | n | c | c、横座標 | 前景レイヤ0に対する横座標を指定する。 |
left0 | n | 0(pos指定が優先) | 画面左上を(0, 0)とする座標 |
前景レイヤ0に対する表示座標を指定する。 ※left使用時はtopも必須です |
top0 | ||||
o0 | n | 何もしない | 0.0〜1.0(実数) |
前景レイヤ0に対するレイヤの透過度。 0(完全透明)〜0.5(半透明)〜1(不透明) |
l1 | n | クリアする | 画像ファイル名 | 前景レイヤ1に対する画像ファイルを指定する |
f1 | n | 何もしない | [add_face]で登録した差分名称(半角カンマ区切りで複数可能) | 前景レイヤ1に対する差分名称を指定する |
pos1 | n | c | c、横座標 | 前景レイヤ1に対する横座標を指定する。 |
left1 | n | 0(pos指定が優先) | 画面左上を(0, 0)とする座標 |
前景レイヤ1に対する表示座標を指定する。 ※left使用時はtopも必須です |
top1 | ||||
o1 | n | 何もしない | 0.0〜1.0(実数) |
前景レイヤ1に対するレイヤの透過度。 0(完全透明)〜0.5(半透明)〜1(不透明) |
l2 | n | クリアする | 画像ファイル名 | 前景レイヤ2に対する画像ファイルを指定する |
f2 | n | 何もしない | [add_face]で登録した差分名称(半角カンマ区切りで複数可能) | 前景レイヤ2に対する差分名称を指定する |
pos2 | n | c | c、横座標 | 前景レイヤ2に対する横座標を指定する。 |
left2 | n | 0(pos指定が優先) | 画面左上を(0, 0)とする座標 |
前景レイヤ2に対する表示座標を指定する。 ※left使用時はtopも必須です |
top2 | ||||
o2 | n | 何もしない | 0.0〜1.0(実数) |
前景レイヤ2に対するレイヤの透過度。 0(完全透明)〜0.5(半透明)〜1(不透明) |
rule | n | 画面全体ピクセルで同時にクロスフェードする | 画像ファイル名(swf不可) | [trans]と同じ |
その他[trans]と同じ属性 | ||||
time | n | 1000 | ミリ秒 | 背景・前景の画像レイヤ変化にかける時間 |
txt_time | n | 300 | ミリ秒 | 文字レイヤ変化にかける時間 |
nofo_txt | n | false | Boolean | trueなら文字レイヤをフェードアウトしない |
nofi_txt | n | false | Boolean | trueなら文字レイヤをフェードインしない |
se | n | 何もしない | 効果音ファイル名 | 場面転換と同時に再生する効果音 |
[bgm] BGM切り替え
BGMをクロスフェードする。
属性 | 必須 | 省略時 | 値域・型 | コメント |
---|---|---|---|---|
fn | y | BGM音声ファイル名 | 再生する音声ファイル名 | |
time | n | 再生中の曲を瞬時に停止し、指定曲を即座に再生する | ミリ秒 | 変化にかける時間 |
[se] 効果音を再生
[playse]に引数省略時音声停止機能を付けたもの。
属性 | 必須 | 省略時 | 値域・型 | コメント |
---|---|---|---|---|
fn | n | 音声停止 | 音声ファイル名 | 再生する音声ファイル名 |
buf | n | 音声 | 効果音を識別するトラック名 | トラック名を変えれば同時に複数の音を操作することが出来ます |
_yesno.sn の定義マクロ
[ask_ync] プレイヤー意志確認
プレイヤーに「はい」「いいえ」等の二択で確認を行なう。
プレイヤーが押下した結果をtmp:_yesnoに「y」か「n」で返す
属性 | 必須 | 省略時 | 値域・型 | コメント |
---|---|---|---|---|
mes | y | String | プレイヤーに質問したい文言 |
ext_fg.sn の定義マクロ
[fg] レイヤ画像を変更
クロスフェードしながらレイヤ画像を変更する
属性 | 必須 | 省略時 | 値域・型 | コメント |
---|---|---|---|---|
layer | y | レイヤ名 | 処理対象のレイヤ | |
page | fore | fore、back | ページの裏表 | |
fn | n | レイヤをクリア | 画像ファイル名 | 基本画像ファイルを指定する |
alpha | n | 1.0 | 0.0〜1.0(実数) | レイヤの透過度。0(完全透明)〜0.5(半透明)〜1(不透明) |
time | n | 500 | ミリ秒数 | 変化にかける時間 |
… | … | … | 引数は[lay](画像レイヤ)、[trans](ページ裏表を交換)の物を指定。 立ち絵なら主にlayer、fn、pos、rule、time属性を使用すれば表現できる |
[img] 画像レイヤ設定サブ
背景レイヤに画像を設定する
属性 | 必須 | 省略時 | 値域・型 | コメント |
---|---|---|---|---|
layer | y | レイヤ名 | 処理対象のレイヤ | |
page | back | fore、back | ページの裏表 | |
fn | n | レイヤをクリア | 画像ファイル名 | 基本画像ファイルを指定する |
alpha | n | 1.0 | 0.0〜1.0(実数) | レイヤの透過度。0(完全透明)〜0.5(半透明)〜1(不透明) |
… | … | … | 引数は[lay](画像レイヤ)、[trans](ページ裏表を交換)の物を指定。主にlayer、fn、pos属性 |
[fg_fi] フェードイン
フェードインしながらレイヤ画像を出現させる
属性 | 必須 | 省略時 | 値域・型 | コメント |
---|---|---|---|---|
layer | n | 0 | レイヤ名 | 処理対象のレイヤ |
time | n | 500 | ミリ秒数 | 変化にかける時間 |
left | n | (現在位置) | ドット数 | 移動元・横位置の絶対位置 |
top | 移動元・縦位置の絶対位置 | |||
x | n | (移動しない) | ドット数 | 移動先・横位置の絶対位置 |
y | 移動先・縦位置の絶対位置(x,yは x='=-50'だと相対位置移動、x='-50'だと絶対位置移動) | |||
alpha | n | 0 | 0.0〜1.0(実数) | レイヤの透過度(初期値)。0(完全透明)〜0.5(半透明)〜1(不透明) |
to_alpha | 1 | レイヤの透過度(終端値) | ||
scale_x | n | 1 | ドット数 | 移動元・横方向拡大/縮小するか。負の値ならレイヤを左右反転 |
scale_y | 移動元・縦方向拡大/縮小するか。負の値ならレイヤを上下反転 | |||
to_scale_x | n | 1 | ドット数 | 移動先・横方向拡大/縮小するか。負の値ならレイヤを左右反転 |
to_scale_y | 移動先・縦方向拡大/縮小するか。負の値ならレイヤを上下反転 | |||
ease | n | Circular.easeOut | イージング名 | alpha・x・yなど値変化のイージング(値の変化の仕方)を指定する。 イージングの変化はこちらの図が分かりやすい。 指定できる値はplgTweensyの[tsy]を参照 |
no_wait | n | false | Boolean | trueを指定すると、終了を待たない |
… | … | … | その他引数は[lay](画像レイヤ)、[trans](ページ裏表を交換)の物を指定。 立ち絵なら主にlayer、fn、pos、rule、time属性を使用すれば表現できる |
[fg_fo] フェードアウト
フェードアウトしながらレイヤ画像を消去する
属性 | 必須 | 省略時 | 値域・型 | コメント |
---|---|---|---|---|
layer | n | 0 | レイヤ名 | 処理対象のレイヤ |
time | n | 500 | ミリ秒数 | 変化にかける時間 |
x | n | (移動しない) | ドット数 | 移動先・横位置の絶対位置 |
y | 移動先・縦位置の絶対位置(x,yは x='=-50'だと相対位置移動、x='-50'だと絶対位置移動) | |||
alpha | n | 0 | 0.0〜1.0(実数) | レイヤの透過度(終端値・[fg_fi]と違う)。0(完全透明)〜0.5(半透明)〜1(不透明) |
ease | n | Circular.easeOut | イージング名 | alpha・x・yなど値変化のイージング(値の変化の仕方)を指定する。 イージングの変化はこちらの図が分かりやすい。 指定できる値はplgTweensyの[tsy]を参照 |
no_wait | n | false | Boolean | trueを指定すると、終了を待たない |
[fg_squat] レイヤを屈伸させる
クロスフェードしながらレイヤ画像を変更する
属性 | 必須 | 省略時 | 値域・型 | コメント |
---|---|---|---|---|
layer | n | 0 | レイヤ名 | 処理対象のレイヤ |
time | n | 250 | ミリ秒数 | 変化にかける時間 |
y | n | 50 | ドット数 | 下へ沈ませる移動量 |
ease | n | Circular.easeOut | イージング名 | 揺れのイージング(値の変化の仕方)を指定する。 イージングの変化はこちらの図が分かりやすい。 指定できる値はplgTweensyの[tsy]を参照 |
repeats | n | 1 | 0〜(整数) | 繰返し回数。0は無限ループ |
no_wait | n | false | Boolean | trueを指定すると、終了を待たない |
[fg_shake] レイヤを震わせる
クロスフェードしながらレイヤ画像を変更する
属性 | 必須 | 省略時 | 値域・型 | コメント |
---|---|---|---|---|
layer | n | 0 | レイヤ名 | 処理対象のレイヤ |
time | n | 250 | ミリ秒数 | ひと揺れにかける時間(実際に掛かる時間 = time * repeats *5【マクロ内の[push_tsy_seq]の数】) |
x | n | 5 | ドット数 | 左右へ揺らす最大移動量 |
repeats | n | 5 | 0〜(整数) | 繰返し回数。0は無限ループ |
no_wait | n | false | Boolean | trueを指定すると、終了を待たない |
[fg_sidestep] レイヤを反復横跳びさせる
クロスフェードしながらレイヤ画像を変更する
属性 | 必須 | 省略時 | 値域・型 | コメント |
---|---|---|---|---|
layer | n | 0 | レイヤ名 | 処理対象のレイヤ |
time | n | 250 | ミリ秒数 | 一動作にかける時間(実際に掛かる時間 = time * 4) |
x | n | 25 | ドット数 | 左右へ揺らす移動量 |
y | n | 25 | ドット数 | 下へ沈ませる移動量 |
repeats | n | 1 | 0〜(整数) | 繰返し回数。0は無限ループ |
no_wait | n | false | Boolean | trueを指定すると、終了を待たない |
ext_for_call.sn の定義マクロ
[for_call] 変数の値を増やしながら[call]する
for文のように変数を変化させながら[call]を繰り返す。
for文がないAIRNovelを補助するマクロ。
※ギャラリーの【for文を使える】を参照。(後述)
属性 | 必須 | 省略時 | 値域・型 | コメント |
---|---|---|---|---|
name | y | ループ変数名 | ループインデックスに使用する変数名を指定する。 実際の変数名は前に'tmp:for_call_idx.'を付けたもの | |
from | y | 整数値 | ループ変数の開始値 | |
to | y | 整数値 | ループ変数の終了値 | |
fn | 少なくともどちらかを指定 | … | … | ループ中処理を行なうサブルーチンへのジャンプ先。 指定方法は[jump]と同様 |
label | ||||
arg | n | String | 指定した場合、ジャンプ先で「&const.sn.eventArg」にて値を受け取れる |
テンプレの【prj/other/ext_fg2.sn】でも使用されているので、使用法のご参考にどうぞ。(多少複雑な例ですが)
[for_call_break] ループを中断する
内側一つだけ脱出する
[for_call]呼び先サブルーチンで使用すると、ループを終了し[for_call]の次に戻る。
[for_call_break]の直後に[return]が必要。
引数無し。
※使用例は[for_call]を参照。
humaneプラグイン
プラグインは core/plugin/ 下に配置し使用します。[notice] humane.js 通知パネル
humane.jsにより通知を表示する。
humane.js·見た目のカスタマイズも可能なWeb通知ライブラリ MOONGIFT
humaneフォルダを配置すれば使用できます。
サンプルプロジェクト「桜の樹の下には」では最初から配置されています。
属性 | 必須 | 省略時 | 値域・型 | コメント |
---|---|---|---|---|
text | y | String | 元になる文字列 | |
その他 | Stringほか | humane.jsのその他の引数 |