変数操作
[clearsysvar] システム変数の全消去
sys:変数を全消去。削除すると言うより、初期化する
引数無し
[clearvar] ゲーム変数の全消去
save:変数を全消去。削除すると言うより、初期化する
具体的には、save:変数を全消去してから、
&save:const.sn.mesLayer = ''
&save:sn.doRecLog = false
&save:const.sn.sLog = ''
[let] 変数代入・演算
変数に値を代入する。
変数については「SKYNovel 組み込み変数」を参照して下さい
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| name | y | String(変数名書式※) | 変数名 | |
| text | y | String | セットする値 | |
| cast | 出来るだけ数値変換 | (コメントを参照) | 値をセットする際の型。 num……数値(実数)。「01」は数値の1となる。 int……数値(符合付き整数) uint……数値(符合なし整数) bool……Boolean str……文字列。「01」は「01」のまま。 |
[let]を使わない、より簡潔な記述文法があります。 ※condのような条件分岐、「=aaa|0x0」のような省略記法はできません。 以下の記述は、 [let name=a text=1] [let name="b" text=2] [let name=ret text="&a + b"](文字列ではなく計算の場合、右辺に&をつける) [let name="&'ret'+ a" text="&1 + b"](左辺で&を使える) 以下のようにも書けます。(&から改行かタブまでを[let]文と解釈します) &a=1 &b=2 &ret = a + b(このように、右辺の&は省略します。常に&がついているイメージ) &&'tst' + a = 1+b(左辺で&を使える。&ret1 = 1 + b と同じ) キャストも記述できます。(両者は同じ意味) [let name=ret text=&1+2 cast=int](結果は3。1+2の計算結果が入る) &ret=1+2=int(同上) キャスト動作そのものは、以下のとおり。 &num = '0+1' = int(結果は0、文字列「0+1」を計算せず文字列のまま、数値に変換できないため) &num = 0+1 = int(結果は1、0+1という計算結果をintで変数へ) &txt = '0+1' = str(結果は文字列「0+1」、文字列をそのまま変数に) &txt = 0+1 = str(結果は文字列「1」、0+1を計算してから結果1を文字列「1」として変数に)
[let_abs]絶対値
絶対値を求める
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| name | y | String(変数名書式※) | 変数名 | |
| text | y | Number | 絶対値を求める数 | |
| cast | 出来るだけ数値変換 | 値をセットする際の型。(詳細は[let]を参照) |
[let_char_at] 文字列から一字取りだし
文字列中の一文字を取り出す
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| name | y | String(変数名書式※) | 変数名 | |
| text | y | String | 元になる文字列 | |
| pos | 0 | 0(先頭)〜 | 何番目の文字を取り出すか | |
| cast | 出来るだけ数値変換 | 値をセットする際の型。(詳細は[let]を参照) |
[let_index_of]文字列で検索
文字列内を検索し、文字列内の start 以降で、最初に val が見つかった位置を返します。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| name | y | String(変数名書式※) | 位置を代入する変数名。-1の場合は見つからなかった | |
| text | y | String | 元になる文字列 | |
| val | y | String | 探す文字列 | |
| start | 0 | 0(先頭)〜 | 検索を開始する位置 | |
| cast | 出来るだけ数値変換 | 値をセットする際の型。(詳細は[let]を参照) |
[let_length]文字列の長さ
文字列の長さを求める
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| name | y | String(変数名書式※) | 長さを代入する変数名 | |
| text | y | String | 長さを求める文字列。長さをセットする | |
| cast | 出来るだけ数値変換 | 値をセットする際の型。(詳細は[let]を参照) |
[let_ml]インラインテキスト代入
[let_ml]〜[endlet_ml]で囲んだ複数行テキストを代入する
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| name | y | String(変数名書式※) | 変数名 |
[let_replace]正規表現で置換
文字列を正規表現で検索し、マッチする箇所を文字列で置き換える。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| name | y | String(変数名書式※) | 変数名 | |
| text | y | String | 置換対象の文字列 | |
| reg | y | String | 正規表現 | |
| flags | (なし) | String | 正規表現のフラグ | |
| val | y | String | 置き換える文字列 | |
| cast | 出来るだけ数値変換 | 値をセットする際の型。(詳細は[let]を参照) |
[let_round]四捨五入
四捨五入する
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| name | y | String(変数名書式※) | 変数名 | |
| text | y | Number | 四捨五入する数 | |
| cast | 出来るだけ数値変換 | 値をセットする際の型。(詳細は[let]を参照) |
[let_search]正規表現で検索
文字列内を正規表現で検索し、最初に val が見つかった位置を返します。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| name | y | String(変数名書式※) | 変数名 | |
| text | y | String | 検索対象の文字列 | |
| reg | y | String | 正規表現 | |
| flags | (なし) | String | 正規表現のフラグ | |
| cast | 出来るだけ数値変換 | 値をセットする際の型。(詳細は[let]を参照) |
[let_substr] 文字列から抜きだし
文字列の一部を取り出す
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| name | y | String(変数名書式※) | 変数名 | |
| text | y | String | 元になる文字列 | |
| pos | 0 | 0(先頭)〜 または 〜-1(末尾) | 何番目の文字から取り出すか。 負の値なら「後ろから何個目か」。-1が最後の文字。 【pos=-3 len=all】とすると、後ろから3文字を取り出す。 | |
| len | 1 | 文字数、または all | 何文字取り出すか。all でpos以降の全て | |
| cast | 出来るだけ数値変換 | 値をセットする際の型。(詳細は[let]を参照) |
レイヤ共通
[add_lay]レイヤを追加する
レイヤを追加する。
レイヤはページの裏表があり、文字レイヤや画像レイヤなどの種類があります。
レイヤの追加と同時に、[lay]に指定できる属性を指定できます。(内部的に[lay]を呼ぶ)
これにより、[add_lay visible=false ...]等とすると、非表示状態でレイヤ追加できます。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | y | String | レイヤ名を指定する。 未使用のレイヤ名でなければエラー&アプリ停止 | |
| class | y | grp(画像レイヤ)、 txt(文字レイヤ)、 またはプラグインで追加した値 | レイヤの種類 | |
| (その他) | [lay]に指定できる属性 | |||
[clear_lay]レイヤ設定の消去
画像や文字などレイヤ状態をクリアする。
alpha、blendMode、rotation、scaleX、scaleYを初期値にする
※背景や背景画像はクリアしません(b_left、b_top、b_width、b_height、b_color、b_alpha)
クリアしたい場合は、[lay back_clear=true]
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | 全てのレイヤ | レイヤ名(半角カンマ区切りで複数レイヤを指定可能) | ||
| page | fore | fore、back、both | ページの裏表(both指定で両面) | |
| filter | false | Boolean | true:フィルタもクリア |
[finish_trans] トランス強制終了
引数無し。
[trans]で開始したトランス終了を待たず、すぐ終了させる。
終了次第、スクリプト処理を次へ進める
[lay]レイヤ設定(共通)
レイヤに各種設定を行う。
レイヤの種類ごとに使用できる属性が違う
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | y | レイヤ名 | 処理対象のレイヤ | |
| page | fore | fore、back | ページの裏表 | |
| visible | 現在値 | Boolean | true:表示、false:非表示 | |
| alpha | 1.0 | 0.0〜1.0(実数) | レイヤの透過度。0(完全透明)〜0.5(半透明)〜1(不透明) | |
| blendmode | 何もしない | ブレンドモード名("screen"など) | このレイヤと下のレイヤとの重なりにおいて、 ドット単位で色のブレンド演算を行なう。 詳細はblendModeの解説を参照。 | |
| pos | c※ | c、l、r、横座標 | 主に立ち絵に使う。横と縦座標を同時に設定する。 横座標は指定した値(文字cの場合は画面中央、lは左寄り、rは右寄り)に設定し、画像下端を画面下端に接するように自動計算する。 | |
| left | 0 | 画面左上を(0, 0)とする横座標※ | レイヤやボタン左端の画面左端からの距離 | |
| center | (↑と同じ) | (↑と同じ) | レイヤやボタン中央の画面左端からの距離 | |
| right | (↑と同じ) | (↑と同じ) | レイヤやボタン右端の画面左端からの距離 | |
| s_right | (↑と同じ) | (↑と同じ) | レイヤやボタン右端の画面右端からの距離 | |
| top | 0 | 画面左上を(0, 0)とする縦座標※ | レイヤやボタン上端の画面上端からの距離 | |
| middle | (↑と同じ) | (↑と同じ) | レイヤやボタン中央の画面上端からの距離 | |
| bottom | (↑と同じ) | (↑と同じ) | レイヤやボタン下端の画面上端からの距離 | |
| s_bottom | (↑と同じ) | (↑と同じ) | レイヤやボタン下端の画面下端からの距離 | |
| rotation | 0 | -180〜180 | 回転角を度単位で指定。時計回りは0~180、反時計回りは0~-180を指定。 左上を中心に回る | |
| scale_x | 1.0 | 正負の実数値 | 横方向を何倍に拡大/縮小するか。負の値ならレイヤを左右反転 | |
| scale_y | (↑と同じ) | (↑と同じ) | 縦方向を何倍に拡大/縮小するか。負の値ならレイヤを上下反転 | |
| float | 何もしない | Boolean | true:レイヤを最前面に移動する。 ※最前面とは、Flashのstage.addChildにおける重なり順 | |
| index | 何もしない | 0〜 | レイヤをindexで指定したインデックスに移動する。 ※インデックスは、FlashのStage.setChildIndex()を参照。 | |
| dive | 何もしない | レイヤ名 | レイヤをdiveで指定したレイヤのすぐ後ろに潜り込ませる。 「plg:プラグイン名」と記述する事でプラグインも指定できる。 |
blendModeの解説
暫定版です、SKYNovelで指定できる値については追って記述します(_ _)
| Photoshop ブレンドモード名 | AIRNovel での blendmode 属性の値 | ActionScript での blendmode 値 | コメント |
|---|---|---|---|
| 加算 | (使えない) | add | 表示オブジェクトの要素カラーの値を背景色に加算し、その際に上限 0xFF を適用します。 |
| アルファ | (使えない) | alpha | 表示オブジェクトの各ピクセルのアルファ値を背景に適用します。 |
| 比較 (暗) | この値→ | darken | 表示オブジェクトの要素カラーと背景色のうち暗い方(値が小さい方)の色を選択します。 |
| 差の絶対値 | この値→ | difference | 表示オブジェクトの各ピクセルのアルファ値を 背景に適用します。 |
| 消去 | (使えない) | erase | 表示オブジェクトのアルファ値に基づいて背景を消去します。 |
| ハードライト | この値→ | hardlight | 表示オブジェクトの暗さに基づいて、各ピクセルの色を調整します。 |
| 反転 | (使えない) | invert | 背景を反転します。 |
| (なし) | (使えない) | layer | 表示オブジェクトに関する透明度グループを強制的に作成します。 |
| 比較 (明) | この値→ | lighten | 表示オブジェクトの要素カラーと背景色のうち明るい方(値が大きい方)の色を選択します。 |
| 乗算 | この値→ | multiply | 表示オブジェクトの要素カラーの値と背景色の要素カラーの値を乗算した後、0xFF で割って正規化し、色を暗くします。 |
| 標準 | この値→ | normal | 表示オブジェクトは、背景の前に表示されます。(なにもしない) |
| オーバーレイ | この値→ | overlay | 背景の暗さに基づいて、各ピクセルの色を調整します。 |
| スクリーン | この値→ | screen | 表示オブジェクトの色の補数(逆)と背景色の補数を乗算して、ブリーチ効果を得ます。 |
| (なし) | (使えない) | shader | シェーダーを使用して、オブジェクト間のブレンドを定義します。 |
| 減算 | (使えない) | subtract | 結果の下限を 0 として、表示オブジェクトの要素カラーの値をその背景色の値から減算します。 |
[lay]レイヤ設定(文字レイヤ)
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| style | 何もしない | CSS style | ※文字表示中の場合はすべてのスタイルが変更される | |
| ch_in_style | 何もしない | 文字出現演出名 | [ch_in_style]で定義した文字出現演出名 | |
| ch_out_style | 何もしない | 文字消去演出名 | [ch_out_style]で定義した文字消去演出名 | |
| b_width | (↑と同じ) | 矩形表示縦横ピクセル数 | テキスト背後の矩形表示縦横サイズ。 初期値はそれぞれ(画面横幅 - b_left *2)(画面縦幅 - b_top *2) | |
| b_height | (↑と同じ) | (↑と同じ) | (↑と同じ) | |
| b_color | (↑と同じ) | 色指定。0x000000など | テキスト背後の矩形色。初期値は 0x000000(黒) | |
| b_alpha | (↑と同じ) | 実数:0.0(透明)〜1.0(不透過) | テキスト背後の矩形不透明度。 表示しない場合は0を指定。初期値は 0 | |
| b_alpha_isfixed | 現在値 | Boolean | true:テキスト背後の矩形不透明度を、「b_alpha属性と sys:TextLayer.Back.Alpha の掛け算とせず」、b_alpha属性値そのものにする。(これは2017/2/13以前の仕様) | |
| b_pic | (↑と同じ) | 画像ファイル名 | 文字レイヤ背後の枠画像を指定する。b_top、b_left、b_alphaの影響を受ける。 (これを指定するとb_colorは無視される) | |
| back_clear | 現在値 | Boolean | true:背景をクリアする | |
| ffs | 現在値 | (コメントで解説) |
CSS の文字詰め font-feature-settingsでの「"pwid"」「"palt"」など指定できる。(styleで指定してはいけない) 初期値は指定なし →【参考】文字詰めできるCSSのfont-feature-settingsが凄い! 日本語フォントこそ指定したい自動カーニング - ICS MEDIA | |
| noffs | 現在値 | String |
font-feature-settingsの対象としない文字を指定できる。複数指定可能。 デフォルト値は指定なし。(ただしインライン画像やクリック待ち記号表示のため、全角空白は必ず指定に含まれる) | |
| r_align | 現在値 | (コメントで解説) | ルビ揃えを指定する。 left ……(肩付き)先頭親文字から、ルビ間は密着 center ……(中付き)センター合わせ、〃 right ……(右/下揃え)末尾親文字から、〃 justify ……(両端揃え)先頭から末尾親文字間に、ルビ間は均等にあける 121 ……(1-2-1(JIS))ルビの前後を比率1、ルビ間を比率2であける even ……(均等アキ)ルビの前後、ルビ間も均等にあける 1ruby ……(1ルビ文字アキ)ルビの前後をルビ一文字空け、ルビ間は均等にあける 初期値は center。 ※親文字よりルビの方が長い場合は、親文字に対する「中付き」表示になる →参考(機能ギャラリー・直感的なルビ文法) |
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| (以下は未作成) | (以下は未作成) | |||
| draggable | false | Boolean | true:テキスト背後の矩形をドラッグできる | |
| drag_x | 0 | 画面左上を(0, 0)とする座標 | ドラッグ範囲の左上始点。 | |
| drag_y | 0 | (↑と同じ) | (↑と同じ) | |
| drag_w | 画面横幅 | ドラッグ範囲縦横ピクセル数 | ドラッグ範囲縦横サイズ。 | |
| drag_h | 画面縦幅 | (↑と同じ) | (↑と同じ) | |
| dragmove_fn | ... | ... | ... | ドラッグ中にサブルーチンコールする先。 指定方法は[jump]と同様 |
| dragmove_label | (↑と同じ) | (↑と同じ) | (↑と同じ) | (↑と同じ) |
| dragmove_arg | String | 指定した場合、ドラッグ中コール先で「&sn.eventArg」にて値を受け取れる | ||
| h_scroll | ピクセル数 | 横スクロールさせる量 | ||
| v_scroll | ピクセル数 | 縦スクロールさせる量 | ||
| mouse_wheel_enabled | Boolean | マウスホイールでスクロール許可するか否か | ||
| r_color | 現在値 | 色指定。0x000000など | ルビの文字色。初期値は 0xFFFFFF | |
| r_size | 現在値 | 1〜 | ルビ文字サイズ。初期値は 12 | |
| r_shift | 現在値 | 正負の整数 | ルビ文字を親文字から何ピクセル離すか。 値の正負と縦書き横書きの関係は、TLFのBaselineShiftに従う。初期値は 0 |
[lay]レイヤ設定(画像レイヤ)
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| fn | y | 何もしない | 画像ファイル名 | 基本画像ファイルを指定する |
| face | 何もしない | [add_face]で登録した差分画像(半角カンマ区切りで複数可能) | 差分画像ファイルを指定する。 [fg fn="a" face="b,c,d"]なら「基本a」の上に「差分b」を重ね、「差分c」を重ね、「差分d」を重ねる。 【注意】fnは同じでface属性だけを指定→指定なしにした場合、表示が変わりませんが不具合ではありません。 「face属性指定なし」は「何もしない」、つまり変化させないからです。 [fg layer=upd fn="a" face="b"] [l] [fg layer=upd fn="a"] [l] 差分画像を無くしたい場合、明確に空文字("")を指定します。 [fg layer=upd fn="a" face="b"] [l] [fg layer=upd fn="a" face=""] [l] | |
| (以下は未作成) | (以下は未作成) | |||
| draggable | false | Boolean | true:テキスト背後の矩形をドラッグできる | |
| drag_x | 0 | 画面左上を(0, 0)とする座標 | ドラッグ範囲の左上始点。 | |
| drag_y | 0 | (↑と同じ) | (↑と同じ) | |
| drag_w | 画面横幅 | ドラッグ範囲縦横ピクセル数 | ドラッグ範囲縦横サイズ。 | |
| drag_h | 画面縦幅 | (↑と同じ) | (↑と同じ) | |
| dragmove_fn | ... | ... | ... | ドラッグ中にサブルーチンコールする先。 指定方法は[jump]と同様 |
| dragmove_label | ... | ... | ... | (↑と同じ) |
| dragmove_arg | String | 指定した場合、ドラッグ中コール先で「&sn.eventArg」にて値を受け取れる |
[trans]ページ裏表を交換
裏ページを表ページとクロスフェードする。
クロスフェードを開始すると、終了を待たずに次のタグへと処理を進める。
終了を待ちたい場合は[wt]を使用する。
クロスフェード終了後は元・裏ページから元・表ページに内容をコピーし、同じ内容になる。
ルール画像は白黒かグレースケールを推奨。(見た目と動きが一致する)
また[trans]~[wt]間で文字表示や[ch]は動作未定義、非推奨。
[trans]終了を待たず何かをするのは避けた方がよいでしょう。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | 全てのレイヤ | 処理対象レイヤ名(カンマ区切りで複数可能) | クロスフェードするレイヤ。指定以外のレイヤは変化させない | |
| time | 0 | ミリ秒 | 変化にかける時間 | |
| delay | 0 | ミリ秒 | 変化する前に待機する遅延時間 | |
| rule | 画面全体ピクセルで同時にクロスフェードする | 画像ファイル名 | 指定した場合はルール画像として、ピクセル単位でクロスフェードするタイミングをずらす。 ルール画像の黒いピクセル(と同じ位置にあるピクセル)が先に処理され、白が最後になる。 | |
| vague | 0.04 | トランジション期間全体を1とした値 | 表レイヤと裏レイヤの境界を曖昧にぼかす度合い | |
| light | false | Boolean | 少々ギザギザだが処理が軽い方法でクロスフェードするか | |
| c_plugin | 何もしない | 処理対象プラグイン名(カンマ区切りで複数可能) | 指定したプラグインの可視状態が[trans]で変化するようになる。表示非表示が切り替わる。ただしクロスフェード中はアニメが止まる |
[wt]トランス終了待ち
[trans]で開始したトランスの終了を待つ。
終了次第、スクリプト処理を次へ進める。
また[trans]~[wt]間で文字表示や[ch]は動作未定義、非推奨。
[trans]終了を待たず何かをするのは避けた方がよいでしょう
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| canskip | true | Boolean | trueでクリックキャンセル可能にする。 |
トゥイーンアニメ
[pause_tsy]一時停止
レイヤーやフレームのトゥイーンアニメを一時停止させる
「layer(とpage)」を指定した場合はレイヤーの操作、
「id」を指定した場合はフレームの操作を行なう。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | y | レイヤ名 | 処理対象のレイヤ | |
| page | fore | fore、back | ページの裏表 | |
| id | y | String | フレーム名 |
[resume_tsy]一時停止再開
レイヤーやフレームのトゥイーンアニメ一時停止を再開させる
「layer(とpage)」を指定した場合はレイヤーの操作、
「id」を指定した場合はフレームの操作を行なう。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | y | レイヤ名 | 処理対象のレイヤ | |
| page | fore | fore、back | ページの裏表 | |
| id | y | String | フレーム名 |
[stop_tsy]トゥイーン中断
レイヤーやフレームのトゥイーンアニメを中断、終了する。
「layer(とpage)」を指定した場合はレイヤーの操作、
「id」を指定した場合はフレームの操作を行なう。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | y | レイヤ名 | 処理対象のレイヤ | |
| page | fore | fore、back | ページの裏表 | |
| id | y | String | フレーム名 |
[tsy]トゥイーン開始
レイヤーにトゥイーンアニメ(変形・移動・回転アニメーション)を加える。
「目標値」を設定する時、相対値あるいは絶対値を指定できる。
| 指定 | 説明 |
|---|---|
| x=500 | X位置を500に |
| x='=500' | 現在のX位置に+500加算した位置 |
| x='=-500' | 現在のX位置に-500加算した位置 |
| x='250,500' | +250から+500までの間でランダムな値をX位置に |
| x='=250,500' | +250から+500までの間でランダムな値を現在のX位置に加算 |
注:フレームのトゥイーンアニメは[tsy_frame]で行なう。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | y | レイヤ名 | 処理対象のレイヤ | |
| page | fore | fore、back | ページの裏表 | |
| time | y | ミリ秒数 | トゥイーンにかける時間 | |
| delay | 0 | ミリ秒数 | トゥイーンを始める前の、何もしない待ち時間 | |
| repeat | 1 | 0〜 | 繰返し回数。0 で無限ループ。1を設定すると「繰り返しなし」、2を設定すると「二回同じ動き」を行なう。 | |
| arrive | false | Boolean | trueならクリックキャンセルでアニメ終端までSkip。 falseならその場で停止 | |
| backlay | false | Boolean | trueならトゥイーン終了時、fore→backへ属性をコピーする。 コピーする属性はalpha, height, rotation, scale_x, scale_y, width, left, top。 | |
| ease | Linear.None(イージング無し) | イージング名 | 揺れのイージング(値の変化の仕方)を指定する。 イージングの変化はこちらの図(またはこちら)が分かりやすい。 指定できる値は以下の通り。 Back.In、Back.InOut、Back.Out Bounce.In、Bounce.InOut、Bounce.Out Circular.In、Circular.InOut、Circular.Out Cubic.In、Cubic.InOut、Cubic.Out Elastic.In、Elastic.InOut、Elastic.Out Exponential.In、Exponential.InOut、Exponential.Out Linear.None Quadratic.In、Quadratic.InOut、Quadratic.Out Quartic.In、Quartic.InOut、Quartic.Out Quintic.In、Quintic.InOut、Quintic.Out Sinusoidal.In、Sinusoidal.InOut、Sinusoidal.Out ・tween.js/README.md at master · tweenjs/tween.js ・CreateJS でのトゥイーンの作成方法 - ICS MEDIA | |
| yoyo | false | Boolean | (暫定)ヨーヨーのように逆方向に戻って繰り返す | |
| chain | なにもしない | レイヤ名 | 指定したレイヤのトゥイーンアニメが終了してから、このトゥイーンを続けて開始する | |
| alpha | いずれかを指定 | 何もしない | 同名属性の変化目標値 | |
| height | ||||
| rotation | ||||
| scale_x | ||||
| scale_y | ||||
| width | ||||
| x | leftの変化目標値 | |||
| y | topの変化目標値 |
[wait_tsy]トゥイーン終了待ち
レイヤーやフレームの終了を待ち、再開する。
[event]などでイベントが登録されていても、イベント発生待ちを行わない。
繰返し回数が0(無限ループ)の場合、何もせず終了する
「layer(とpage)」を指定した場合はレイヤーの操作、
「id」を指定した場合はフレームの操作を行なう。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | y | レイヤ名 | 処理対象のレイヤ | |
| page | fore | fore、back | ページの裏表 | |
| id | y | String | フレーム名 | |
| canskip | true | Boolean | クリックなど(→詳細は[waitclick])でウエイトをキャンセルできるか |
文字・文字レイヤ
[autowc]文字ごとのウェイト
特定の文字の直後に自動的にウェイトを入れる。
textに指定した文字に対し、timeに指定した数値が対応する。
通常の文字表示速度にtimeの数値を掛け算する。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| enabled | 現在値 | Boolean | 自動ウェイトを有効にするか | |
| text | 両方同時に指定、或いは省略 | 現在値 | String | ウェイトを指定する文字の集まり |
| time | (↑と同じ) | 現在値 | カンマ区切りの数値 | 文字表示ウェイト倍数 |
以下のように指定する。
[autowc enabled=true text="456" time="50,100,150"]
[autowc enabled=true text="456" time="100,100,100"]
[autowc enabled=false]
以下はエラーとなる。
;x [autowc enabled=true text="456" time="100,100"]
;x [autowc enabled=true text="456" time="100,100,100,100"]
;x [autowc enabled=true text="456"]
;x [autowc enabled=true time="100,100,100"]
;x [autowc enabled=true]
;x [autowc enabled=true text="" time=""]
;x [autowc text="" time=""]
[ch]文字を追加する
文字レイヤに文字を出力する
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | デフォルト文字レイヤ | 文字レイヤ名 | 文字を表示するレイヤ | |
| page | fore | fore、back | ページの裏表 | |
| text | y | String | 表示したい文字列。ルビ文法(《》)も解析する。改行も [r] で出来る | |
| record | true | Boolean | 履歴に保存するか | |
| wait | 現在の文字表示速度 | ミリ秒 | 一時的な文字表示速度。0で瞬時。 | |
| style | 何もしない | CSS style | このタグによる表示のみに適用、以降は元に戻る | |
| ch_in_style | 何もしない | 文字出現演出名 | [ch_in_style]で定義した文字出現演出名 | |
| ch_out_style | 何もしない | 文字消去演出名 | [ch_out_style]で定義した文字消去演出名 |
[ch]を使わない、より簡潔な記述文法があります。
以下の記述は、
[ch text=&test]
[ch text=test]
[ch text="&a + b"]
以下のようにも書けます。&から&までを[ch]文と解釈します。
&test&
&'test'&
&a + b&
では「&(半角)」を表示するには?(これらの文法のせいで普通に書けない)
[ch text="&'&'"]として下さい。
[ch_in_style]文字出現演出定義
文字出現演出アニメを定義する
[lay][span]などの ch_in_style属性で指定すると、定義どおりの文字出現演出アニメを行なう
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| name | デフォルト文字レイヤ | 文字レイヤ名 | 文字を表示するレイヤ | |
| wait | 500 | ミリ秒 | 一時的な文字表示速度。0で瞬時。 | |
| alpha | 0.0 | 0.0〜1.0(実数) | 透過度。0(完全透明)〜0.5(半透明)〜1(不透明) | |
| x | '=0' |
以下のような相対位置指定が出来る 500 ── X位置を500に '=500' ── 文字表示位置を基準に+500加算した位置 '=-500' ── 文字表示位置を基準に-500加算した位置 | 変化の初期値 | |
| y | ||||
| scale_x | 1.0 | 正負の実数値 | 横方向を何倍に拡大/縮小するか。負の値ならレイヤを左右反転 | |
| scale_y | 1.0 | 正負の実数値 | 縦方向を何倍に拡大/縮小するか。負の値ならレイヤを上下反転 | |
| rotate | 0 | Number | 回転角度(単位:deg 度)、正の値は時計回り | |
| join | true | Boolean | 文字を順番に出すか(true)同時か(false) | |
| ease | 'ease-out' | CSSのanimation-timing-function プロパティ |
[ch_out_style]文字消去演出定義
文字消去演出アニメを定義する
[lay][span]などの ch_out_style属性で指定すると、定義どおりの文字消去演出アニメを行なう。
文字消去演出は、次ページの文字出現演出と同時に行なわれる。文字消去演出を待ちたい場合は、[wait]などで待つ。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| name | デフォルト文字レイヤ | 文字レイヤ名 | 文字を表示するレイヤ | |
| wait | 500 | ミリ秒 | 一時的な文字消去速度。0で瞬時。 | |
| alpha | 0.0 | 0.0〜1.0(実数) | 透過度。0(完全透明)〜0.5(半透明)〜1(不透明) | |
| x | '=0' |
以下のような相対位置指定が出来る 500 ── X位置を500に '=500' ── 文字位置を基準に+500加算した位置 '=-500' ── 文字位置を基準に-500加算した位置 | 変化の目標値 | |
| y | ||||
| scale_x | 1.0 | 正負の実数値 | 横方向を何倍に拡大/縮小するか。負の値ならレイヤを左右反転 | |
| scale_y | 1.0 | 正負の実数値 | 縦方向を何倍に拡大/縮小するか。負の値ならレイヤを上下反転 | |
| rotate | 0 | Number | 回転角度(単位:deg 度)、正の値は時計回り | |
| join | false | Boolean | 文字を順番に出すか(true)同時か(false) | |
| ease | 'ease-out' | CSSのanimation-timing-function プロパティ |
[clear_text]文字消去
文字のみをクリアする
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | デフォルト文字レイヤ | 文字レイヤ名 | 文字を表示するレイヤ | |
| page | fore | fore、back | ページの裏表 |
[current] デフォルト文字レイヤ設定
デフォルト文字レイヤを設定する
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | y | 文字レイヤ名 | デフォルトとするレイヤ |
[endlink]ハイパーリンクの終了
[link](ハイパーリンク)で開始したリンク区間を終了する
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | デフォルト文字レイヤ | 文字レイヤ名 | 文字を表示するレイヤ | |
| page | fore | fore、back | ページの裏表 |
[er]ページ両面の文字消去
デフォルト文字レイヤの裏と表の両方に対して[clear_lay]を行う。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| rec_page_break | true | Boolean | 履歴を改ページするか |
[graph]インライン画像表示
文字レイヤに画像を文字として表示する。ルビは同時に設定する。
フォントにない外字やアニメpng画像表示に使える。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | デフォルト文字レイヤ | 文字レイヤ名 | 文字を表示するレイヤ | |
| page | fore | fore、back | ページの裏表 | |
| pic | y | 画像ファイル名 | 表示する画像やアニメpng | |
| r | ルビ無し | String | ルビ文字列(ただしあまりに他の文字サイズと大きく異なる場合は正しい位置に表示されない) | |
| width | 画像の横サイズ(※) | 1〜 | 表示する画像の横ドットサイズ。 元のサイズと異なる場合は拡大・縮小される。 | |
| height | 画像の縦サイズ(※) | 1〜 | 保存する画像の縦ドットサイズ。 元のサイズと異なる場合は拡大・縮小される。 | |
| style | 何もしない | CSS style | ※文字表示中の場合はすべてのスタイルが変更される | |
| ch_in_style | 何もしない | 文字出現演出名 | [ch_in_style]で定義した文字出現演出名 | |
| ch_out_style | 何もしない | 文字消去演出名 | [ch_out_style]で定義した文字消去演出名 | |
| wait | 現在の文字表示速度 | ミリ秒 | 一時的な文字表示速度。0で瞬時。 |
※省略時は画像サイズになるが、ロード完了直後に文字配置を決めるのでちらつく。それを嫌う際に指定する
※特にモバイルなどでゲーム画面が自動で拡大縮小される場合、省略したらその時の本文文字サイズとして扱われる。なるべくサイズ指定を推奨。
[link]ハイパーリンク
指定した文字レイヤの表ページに、ハイパーリンクを作成する。
[link]から[endlink](ハイパーリンクの終了)までで囲った範囲をリンク区間と呼び、
その区間の文字や縦中横がハイパーリンクになる。(リンク区間は入れ子に出来ません)
※選択肢として使用する場合、ジャンプ先のラベル直後には必ず[record_place]を記述して、ジャンプ直後でセーブしても正しくセーブされるようにして下さい。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | デフォルト文字レイヤ | 文字レイヤ名 | 文字を表示するレイヤ名 | |
| page | fore | fore、back | ページの裏表 | |
| style | 'background-color: rgba(255,0,0,0.5);'何もしない | CSS style | ※文字表示中の場合はすべてのスタイルが変更される | |
| ch_in_style | 何もしない | 文字出現演出名 | [ch_in_style]で定義した文字出現演出名 | |
| ch_out_style | 何もしない | 文字消去演出名 | [ch_out_style]で定義した文字消去演出名 | |
| wait | 現在の文字表示速度 | ミリ秒 | 一時的な文字表示速度。0で瞬時。 | |
| call | false | Boolean | trueの場合は[call]、falseは[jump]。 ただしcall=trueによりサブルーチンコールした場合、[return]によって「コールする前のイベント予約状態&待ち状態」に戻る。 | |
| fn | ... | ... | ... | クリック時にジャンプする先。 指定方法は[jump]と同様 |
| label | ... | ... | ... | (↑と同じ) クリック時ジャンプ先で「&sn.eventLabel」にて値を受け取れる |
| global | false | Boolean | 詳細は[event]と同様。 ※ボタンを[trans]する場合はtrueにしておく | |
| arg | String | 指定した場合、クリック時ジャンプ先で「&sn.eventArg」にて値を受け取れる | ||
| enterse | 省略時は無音 | 効果音ファイル名 | 指定すると、ボタン上にマウスカーソルが載った時に効果音を再生する | |
| leavese | 省略時は無音 | 効果音ファイル名 | 指定すると、ボタン上からマウスカーソルが外れた時に効果音を再生する | |
| clicksebuf | SYS | サウンドバッファ名 | クリック時効果音を再生するサウンドバッファを指定する | |
| entersebuf | SYS | サウンドバッファ名 | クリック時効果音を再生するサウンドバッファを指定する | |
| leavesebuf | SYS | サウンドバッファ名 | クリック時効果音を再生するサウンドバッファを指定する | |
| onenter | 何もしない | ラベル名 | マウス重なり(フォーカス取得)時、指定したラベルをコールする。 必ず[return]で戻ること。 | |
| onleave | 何もしない | ラベル名 | マウス重なり外れ(フォーカス外れ)時、指定したラベルをコールする。 必ず[return]で戻ること。 |
[r] 改行
指定した文字レイヤの表ページに、改行を出力する。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | デフォルト文字レイヤ | 文字レイヤ名 | 文字を表示するレイヤ名 | |
| page | fore | fore、back | ページの裏表 |
[rec_ch]履歴書き込み
履歴に文字や付加情報を出力する。
「現在のページ」のテキストに文字を追加する。
「現在のページ」に対する、任意の属性も自由に追加できる。その属性はconst.sn.log.jsonにも含まれ、フレームに渡しJavaScriptなどで(JSON.parse()して)利用できる。
→参考(機能ギャラリー・履歴と機能追加)
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| text | String | 表示したい文字列。ルビ文法(《》)も解析する。 | ||
| (任意) | (任意) | (任意) |
[rec_r]履歴改行
履歴に改行を出力する。
引数無し。
[reset_rec]履歴リセット
履歴をクリアする。
応用として、履歴に加工した文字列を設定し、履歴画面に機能を追加する事も。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| text | 全てクリア | String | 履歴に設定したい文字列 |
[ruby2]文字列と複数ルビの追加
親文字列とルビ文字列のセットで文字を追加する
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | デフォルト文字レイヤ | 文字レイヤ名 | 文字を表示するレイヤ名 | |
| page | fore | fore、back | ページの裏表 | |
| t | y | String | 親文字列 | |
| r | y | String | ルビ文字列 |
[set_focus] 未作成:フォーカス移動
[button]フォーカスを移動する。
説明に「フォーカス順」とある場合は、[button]が文字レイヤに追加された順番。
先頭は最初に追加された[button]。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| to | y | (コメントで解説) | prev……フォーカス順で前の[button]に移動 next……フォーカス順で次の[button]に移動 null……どの[button]にもフォーカスがない状態にする 数値……数値をフォーカス順の番号(0〜)として移動 |
[span]インラインスタイル設定
この指定以降の文字のレイアウト(フォントや文字色など)を指定する。
一時的に文字レイヤのlayout属性への指定を上書きするイメージ。 文字レイヤをクリア([clear_text]、[clear_lay])するとリセット、以降は元通り文字レイヤのlayout属性に従う
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | デフォルト文字レイヤ | 文字レイヤ名 | 文字を表示するレイヤ | |
| page | fore | fore、back | ページの裏表 | |
| wait | 現在の文字表示速度 | ミリ秒 | 一時的な文字表示速度。0で瞬時。 | |
| style | 何もしない | CSS style | ※文字表示中の場合はすべてのスタイルが変更される | |
| ch_in_style | 何もしない | 文字出現演出名 | [ch_in_style]で定義した文字出現演出名 | |
| ch_out_style | 何もしない | 文字消去演出名 | [ch_out_style]で定義した文字消去演出名 | |
| r_align | 現在値 | ルビ揃えを指定する。 設定値は「[lay]レイヤ設定(文字レイヤ)」を参照 |
[tcy]縦中横を表示する
縦中横文字を追加する。ルビは同時に設定する
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | デフォルト文字レイヤ | 文字レイヤ名 | 文字を表示するレイヤ | |
| page | fore | fore、back | ページの裏表 | |
| t | y | String | 縦中横文字列、通常半角文字を指定する。 | |
| r | ルビ無し | String | ルビ文字列 |
画像・画像レイヤ
[add_face]差分画像の追加
差分画像を登録する。
本タグだけでは差分画像を表示しない。画像レイヤの[lay]タグface属性で指定する差分名称を登録する。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| name | y | 差分名称 | [lay]タグface属性で指定する差分名称 | |
| fn | 属性nameの値 | 画像ファイル名 | 表示する画像、アニメpng | |
| dx | 0 | 基本画像左上を(0, 0)とする座標 | 差分画像の表示横位置 | |
| dy | 0 | (↑と同じ) | 差分画像の表示縦位置 | |
| blendmode | 何もしない | ブレンドモード名("screen"など) | このレイヤと下のレイヤとの重なりにおいて、 ドット単位で色のブレンド演算を行なう。 詳細はblendModeの解説を参照。 |
例えば同じ画像で差分表示位置やブレンドモードが違う登録をしたい場合、
[add_face name="a_normal" fn="画像" dx=0 dy=0]
[add_face name="a_10_10" fn="画像" dx=10 dy=10]
[add_face name="a_screen" fn="画像" dx=0 dy=0 blendmode="screen"]
とnameを変えることで登録できます。
[wv]動画再生終了待ち
[lay]で開始したムービー再生の終了を待つ
何かしらの画像レイヤで再生している動画の終了を待つ
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| fn | y | 動画ファイル名 | 再生終了を待つ動画 | |
| canskip | true | Boolean | クリックなど(→詳細は[waitclick])でウエイトをキャンセルできるか |
HTMLフレーム
[add_frame]フレーム追加
HTMLファイルをベースとする「フレーム」を追加する
注:これは HTML要素の iframe(インラインフレーム要素)で、フレームは全てのレイヤの手前に表示され、互い違いに重ねられない。
const.sn.frm.(フレーム名)系の値もセットする。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| id | y | String | フレーム名。他のタグなどで操作・参照する歳の名前となる。 | |
| src | y |
ファイル名 |
フレームとして読み込むhtmlファイルの ファイル名(画像や音声などのfn属性と同じように) | |
| alpha | 1.0 | 0.0〜1.0(実数) | 透過度。0(完全透明)〜0.5(半透明)〜1(不透明) | |
| scale_x | 1.0 | 正負の実数値 | 横方向を何倍に拡大/縮小するか。負の値ならレイヤを左右反転 | |
| scale_y | 1.0 | 正負の実数値 | 縦方向を何倍に拡大/縮小するか。負の値ならレイヤを上下反転 | |
| rotate | 0 | Number | 回転角度(単位:deg 度)、正の値は時計回り | |
| visible | true | Boolean | trueで行末クリック待ち記号を表示、falseで非表示 | |
| b_color | 透過 | 色指定。0x000000など | 背後の矩形色。初期値は 透過(htmlで画像を表示すれば表示) | |
| x | 0 | 画面左上を(0, 0)とする座標 | 画面内におけるフレームの横位置を指定 | |
| y | 0 | (↑と同じ) | 画面内におけるフレームの縦位置を指定 | |
| width | フレームの横サイズ | 1〜 | 表示するフレームの横ドットサイズ。 元のサイズと異なる場合は拡大・縮小される。 | |
| height | フレームの縦サイズ | 1〜 | 保存するフレームの縦ドットサイズ。 元のサイズと異なる場合は拡大・縮小される。 |
[let_frame]フレーム変数を取得
フレーム内の変数から、値を取得する
関数名を指定した場合は関数を実行し、その戻り値を取得する。
【const.sn.frm.(id名).(var_name名)】に値がセットされる。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| id | y | String | フレーム名。他のタグなどで操作・参照する歳の名前となる。 | |
| var_name | y | String | フレーム内の変数/関数名。 |
[set_frame]フレーム変数に設定
フレーム内の変数に、値を設定する
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| id | y | String | フレーム名。他のタグなどで操作・参照する歳の名前となる。 | |
| var_name | y | String | フレーム内の変数名。 | |
| text | y | フレーム内の変数にセットする値。 |
[frame]フレームに設定
フレームそのものの属性を設定する
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| id | y | String | フレーム名。他のタグなどで操作・参照する歳の名前となる。 | |
| time | y | ミリ秒数 | トゥイーンにかける時間 | |
| delay | 0 | ミリ秒数 | トゥイーンを始める前の、何もしない待ち時間 | |
| repeat | 1 | 0〜 | 繰返し回数。0 で無限ループ。1を設定すると「繰り返しなし」、2を設定すると「二回同じ動き」を行なう。 | |
| alpha | 1.0 | 0.0〜1.0(実数) | 透過度。0(完全透明)〜0.5(半透明)〜1(不透明) | |
| scale_x | 1.0 | 正負の実数値 | 横方向を何倍に拡大/縮小するか。負の値ならレイヤを左右反転 | |
| scale_y | 1.0 | 正負の実数値 | 縦方向を何倍に拡大/縮小するか。負の値ならレイヤを上下反転 | |
| rotate | 0 | Number | 回転角度(単位:deg 度)、正の値は時計回り | |
| visible | true | Boolean | trueで行末クリック待ち記号を表示、falseで非表示 | |
| b_color | 透過 | 色指定。0x000000など | 背後の矩形色。初期値は 透過(htmlで画像を表示すれば表示) | |
| x | 0 | 画面左上を(0, 0)とする座標 | 画面内におけるフレームの横位置を指定 | |
| y | 0 | (↑と同じ) | 画面内におけるフレームの縦位置を指定 | |
| width | フレームの横サイズ | 1〜 | 表示するフレームの横ドットサイズ。 元のサイズと異なる場合は拡大・縮小される。 | |
| height | フレームの縦サイズ | 1〜 | 保存するフレームの縦ドットサイズ。 元のサイズと異なる場合は拡大・縮小される。 |
[tsy_frame]フレームをトゥイーン開始
フレームのトゥイーンアニメを行なう
フレームのトゥイーンアニメを開始したあと、id属性指定により以下のタグを使用できる。
[pause_tsy](一時停止)
[resume_tsy](一時停止再開)
[stop_tsy](トゥイーン中断)
[wait_tsy](トゥイーン終了待ち)
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| id | y | String | フレーム名。他のタグなどで操作・参照する歳の名前となる。 | |
| time | y | ミリ秒数 | トゥイーンにかける時間 | |
| delay | 0 | ミリ秒数 | トゥイーンを始める前の、何もしない待ち時間 | |
| repeat | 1 | 0〜 | 繰返し回数。0 で無限ループ。1を設定すると「繰り返しなし」、2を設定すると「二回同じ動き」を行なう。 | |
| ease | Linear.None(イージング無し) | イージング名 | 揺れのイージング(値の変化の仕方)を指定する。 イージングの変化はこちらの図(またはこちら)が分かりやすい。 指定できる値は[tsy]を参照 | |
| yoyo | false | Boolean | (暫定)ヨーヨーのように逆方向に戻って繰り返す | |
| alpha | いずれかを指定 | 何もしない | 同名属性の変化目標値 | |
| height | ||||
| rotation | ||||
| scale_x | ||||
| scale_y | ||||
| width | ||||
| x | leftの変化目標値 | |||
| y | topの変化目標値 |
イベント
[clear_event] イベントを全消去
イベント予約を全て削除する
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| global | false | Boolean | trueを指定すると全ての大域イベントを削除する。 | |
| falseの場合は大域以外の全てのイベントを削除する |
[enable_event] イベント有無の切替
文字レイヤごとのイベント発生有効無効を設定する。
無効にするとマウスイベントが無効になり、[s]待ちなどでイベントが発生しなくなるが、イベント予約は別の話であり、削除などされない。 有効にすればマウスイベントが発生するようになり、再びイベント待ちされるようになる
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | デフォルト文字レイヤ | 文字レイヤ名 | イベント有効無効を設定するレイヤ | |
| enabled | true | Boolean | イベントを有効にするか |
[event]イベントを予約
次の[s]などのイベント待ちに向けてイベント処理を予約する。
あるイベントが発生した際、global=falseのイベント予約は全て削除される
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| key | y | click、rightclick、middleclick、upwheel、downwheel、 イベントのキー名※1 | イベントを発生させるトリガーイベント 修飾キーの同時押し(あるいは修飾キーを押しといて通常キー)を任意に組み合わせられます。「半角プラスで」「ABC順に」「イベントのキー名の前に」繋げて下さい。 (例1)key=alt+enter (例2)key=alt+ctrl+shift+enter | |
| fn | ... | ... | ... | イベント発生時にジャンプする先。指定方法は[jump]と同様。 callの場合、ジャンプ先から[return]で戻ると、 再度[s]などのイベント待ち状態に戻る。 |
| label | ... | ... | ... | (↑と同じ) クリック時ジャンプ先で「&sn.eventLabel」にて値を受け取れる |
| global | false | Boolean | trueを指定すると大域的なイベント扱いとなり、 イベント発生時にイベント予約が削除されない | |
| arg | String | 指定した場合、クリック時ジャンプ先で「&sn.eventArg」にて値を受け取れる | ||
| del | ... | Boolean | trueを指定すると予約済みイベントを削除する。 fn/label/callとdelは同時指定できません | |
| frame | 10 | 1〜 | ※未実装 key=enter_frameの場合のみ有効。 フレームイベントは毎秒何度も([window]のframerate回)発生するが、 アプリ全体が重くなるので、適度に間引いてイベントを時々発生させるため、 フレーム何回に一回イベントを発生させるかを指定する。 例)30フレームで動作するアプリでframe=15を指定すると、30/15=0.5秒に一回発生(タイミングにより厳密ではない) |
※1 イベントのキー名は以下の表を参考に。
技術的の話をすると、値は JavaScriptでの keydownイベントの keyプロパティの値(Key Values - Web APIs | MDN)を基本とする。
(keyCode(非推奨)・codeプロパティとは違うので注意)
重要な点として、「key属性の値」は大文字小文字区別無し、どちらでもよい。
修飾キー(shiftなど)は、その前に追加していく。(追加順は決まっており、以下を参照。ABC順)
| key属性の値 | コメント |
|---|---|
| Click | マウスボタンクリック([button]以外のどこか) |
| RightClick | マウス右ボタンクリック([button]以外のどこか) |
| MiddleClick | マウス中(ホイール)ボタンクリック([button]以外のどこか) |
| UpWheel | マウスホイール回転(手前に)※回転開始時に一度のみ発生 |
| DownWheel | マウスホイール回転(奥に)※回転開始時に一度のみ発生 |
| Control | Mac/Winの Controlキー |
| Alt | Macの Optionキー。Winの ALT(Option)キー |
| Meta | Mac/Winの Commandキー |
| Backspace | |
| Enter | Macの Enterキー、Winの returnキー |
| = | ※注:イコールキーはMacキーボードにしか無い |
| A | Aキー |
| alt+A | Altキーと Aキーを同時押し |
| ctrl+A | Controlキーと Aキーを同時押し |
| shift+A | Shiftキーと Aキーを同時押し |
| alt+ctrl+A | Altキーと Controlキーと Aキーを同時押し |
| ctrl+shift+A | Controlキーと Shiftキーと Aキーを同時押し |
| alt+shift+A | Altキーと Shiftキーと Aキーを同時押し |
| alt+ctrl+shift+A | Altキーと Controlキーと Shiftキーと Aキーを同時押し |
| スペースキー(半角空白文字で。「space」ではない) | |
| (その他文字) | 文字そのままの値を指定。 (B、¥ など) |
| ArrowLeft | 矢印キーの左 |
| ArrowRight | 矢印キーの右 |
| ArrowUp | 矢印キーの上 |
| ArrowDown | 矢印キーの下 |
| Tab | タブキー |
| Delete | |
| Home | |
| End | |
| PageUp | |
| PageDown | |
| Escape | ※注:新型MacBook Proではキーがないかも(他に割り当て可能) |
| F1 | ファンクションキー(Macなどではユーザーが機能を割り当てている恐れ) |
| F12 | 〃 |
| F13 | ※注:F13以上は、キーボードによっては存在しない |
| dom=【フレーム名】:【ボタン系 HTML要素の id名】 |
[add_frame]で読み込んだ HTML要素に発生したイベントを検知し、イベントとする。 「ボタン系 HTML要素」とは、【<a id="close">x</a>】など。 【key='dom=config:#close'】と記述した場合、その要素をクリックした際にイベントが発生する。 HTML要素に【<a id="close" data-arg="res">x</a>】などとカスタムデータ属性を付加すると、イベント発生時に tmp変数として値を受け取れる。 例では、sn.event.domdata.arg に文字列【res】が入る。 |
| dom=【フレーム名】:【スライダー系 HTML要素の id名】 |
[add_frame]で読み込んだ HTML要素に発生したイベントを検知し、イベントとする。 「スライダー系 HTML要素」とは、【<input type="range" id="sldBackAlpha" min="0" max="100" step="5" value="70"/>】など。 【key='dom=config:#sldBackAlpha'】と記述した場合、そのスライダーを変更した際にイベントが発生する。 HTML要素に【<input type="range" id="sldBackAlpha" min="0" max="100" step="5" value="70" data-arg2="res2"/>】などとカスタムデータ属性を付加すると、イベント発生時に tmp変数として値を受け取れる。 例では、sn.event.domdata.arg2 に文字列【res2】が入る。 |
| dom=【フレーム名】:【トグルボタン系 HTML要素の id名】 |
[add_frame]で読み込んだ HTML要素に発生したイベントを検知し、イベントとする。 「トグルボタン系 HTML要素」とは、【<input type="checkbox" id="chkScrMode" checked="."/>】など。 【key='dom=config:#chkScrMode'】と記述した場合、その要素をクリックした際にイベントが発生する。 HTML要素に【<input type="checkbox" id="chkScrMode" checked="." data-arg3="res3"/>】などとカスタムデータ属性を付加すると、イベント発生時に tmp変数として値を受け取れる。 例では、sn.event.domdata.arg3 に文字列【res3】が入る。 |
[l] 行末クリック待ち
シナリオファイルの順次処理を停止し、クリックやキー押下(→詳細は[waitclick])を待つ。
「breakline」という画像やアニメpngファイルが用意されていれば、行末クリック待ちマークとして表示する。 クリックやキー押下が発生した場合、処理を再開する。 [event]などでイベントが登録されていれば、イベント発生待ちを行う。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| visible | true | Boolean | trueで行末クリック待ち記号を表示、falseで非表示 |
[p]改ページクリック待ち
シナリオファイルの順次処理を停止し、クリックやキー押下(→詳細は[waitclick])を待つ。
「breakpage」という画像やアニメpngファイルが用意されていれば、改ページクリック待ちマークとして表示する。 クリックやキー押下が発生した場合、処理を再開する。 [event]などでイベントが登録されていれば、イベント発生待ちを行う。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| visible | true | Boolean | trueで改ページ記号を表示、falseで非表示 | |
| er | 何もしない | Boolean | trueで改ページ待ち後に[er]処理を行なう |
[s] 停止する
引数無し。
シナリオファイルの順次処理を停止する。 [event]などでイベントが登録されていれば、イベント発生待ちを行う。
[set_cancel_skip] スキップ中断予約
引数無し。 ページ末まで一気に読み進むモード、自動読みすすみモードなどの開始に備え、クリックなどで処理を中断できるような特殊イベントを予約する。 クリックやキー押下が発生した場合、処理を再開する。
※例えば自動読み進みモードだと[l][p]などで停止しないため、予約イベントが処理されない。その為のタグ。
[wait]ウェイトを入れる
指定時間スクリプト処理を待ち、再開する。
[event]などでイベントが登録されていても、イベント発生待ちを行わない。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| time | y | ミリ秒 | 処理を待つ時間 | |
| canskip | true | Boolean | クリックなど(→詳細は[waitclick])でウエイトをキャンセルできるか |
[waitclick]クリックを待つ
シナリオファイルの順次処理を停止し、クリックやキー押下※を待つ。
引数無し。
クリックやキー押下が発生した場合、処理を再開する。
[event]などでイベントが登録されていれば、イベント発生待ちを行う。
※クリックやキー押下とは、以下のイベントを差す。
click
downwheel(下方向へのマウスホイール)
enter
space
down(矢印キーの下)
BGM・効果音
[fadebgm]BGMのフェード
BGMを指定した音量に、段階的に変化させる。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| volume | y | 0.0〜1.0(実数) | 音量 | |
| time | y | ミリ秒 | フェード時間 | |
| delay | 0 | ミリ秒 | 変化する前に待機する遅延時間 |
[fadeoutbgm] BGMのフェードアウト
BGMを無音に、段階的に変化させる。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| time | y | ミリ秒 | フェード時間 | |
| stop | true | Boolean | trueで「フェード終了時の再生停止」、falseなら行なわない。 | |
| delay | 0 | ミリ秒 | 変化する前に待機する遅延時間 |
[fadeoutse] 効果音のフェードアウト
効果音を無音に、段階的に変化させる。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| buf | SE | 効果音を識別するトラック名 | トラック名を変えれば同時に複数の音を操作することが出来ます。 | |
| time | y | ミリ秒 | フェード時間 | |
| stop | true | Boolean | trueで「フェード終了時の再生停止」、falseなら行なわない。 | |
| delay | 0 | ミリ秒 | 変化する前に待機する遅延時間 |
[fadese]効果音のフェード
効果音を指定した音量に、段階的に変化させる。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| buf | SE | 効果音を識別するトラック名 | トラック名を変えれば同時に複数の音を操作することが出来ます。 | |
| volume | y | 0.0〜1.0(実数) | 音量 | |
| time | y | ミリ秒 | フェード時間 | |
| delay | 0 | ミリ秒 | 変化する前に待機する遅延時間 |
[playbgm]BGM の演奏
BGMを再生する。
[playse]とは違い、キー押下Skip中でも必ず再生を行なう。(canskip = false)
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| fn | y | BGM音声ファイル名 | 再生する音声ファイル名 | |
| loop | true | Boolean | trueでBGMのようにループ再生する。 | |
| volume | 1.0 | 0.0〜1.0(実数) | 再生音量。ただし音量を示すシステム変数(sys:const.an.sound.BGM.volume)は変更しない | |
| speed | 1.0 | 0.0<(実数) | 再生速度。(=1:元のまま、<1:遅い、>1:早い) | |
| join | true | Boolean | trueで読み込みを待って次のタグへ進む。 | |
| (以下は未作成) | (以下は未作成) | |||
| ret_ms | 0(冒頭) | ミリ秒 | ループ戻り位置指定。冒頭から再生開始するが、mp3終端に行くたびに指定したミリ秒の位置に戻る | |
| end_ms | 終端 | ミリ秒 | 音声ファイルの終端位置を指定する。(音声ファイルの末尾にどうしても無音が残る場合、ループ時に困るときなどに) 正の値は「冒頭から何ms目を終端とするか」 負の値は「末尾から何ms手前を終端とするか」の指定。 |
[playse]効果音の再生
効果音を再生する。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| fn | y | 効果音音声ファイル名 | 再生する音声ファイル名 | |
| buf | SE | 効果音を識別するトラック名 | トラック名を変えれば同時に複数の音を操作することが出来ます。 | |
| loop | false | Boolean | trueでBGMのようにループ再生する。 | |
| volume | 1.0 | 0.0〜1.0(実数) | 再生音量。ただし音量を示すシステム変数(sys:const.an.sound.【トラック名】.volume)は変更しない | |
| join | true | Boolean | trueで読み込みを待って次のタグへ進む。 | |
| canskip | true | Boolean | trueでキー押下Skip中なら再生をしない | |
| (以下は未作成) | (以下は未作成) | |||
|
(2020/04/02)廃止になりました | ||||
| ret_ms | 0(冒頭) | ミリ秒 | ループ戻り位置指定。冒頭から再生開始するが、mp3終端に行くたびに指定したミリ秒の位置に戻る。 | |
| end_ms | 終端 | ミリ秒 | 音声ファイルの終端位置を指定する。(音声ファイルの末尾にどうしても無音が残る場合、ループ時に困るときなどに) 正の値は「冒頭から何ms目を終端とするか」 負の値は「末尾から何ms手前を終端とするか」の指定。 |
[stop_allse] 全効果音再生の停止
全てのサウンドを停止する。ぴたっと止める。
[stopbgm]BGM 演奏の停止
BGM 演奏を停止する。ぴたっと止める。
[stopfadese] 音声フェードの停止
音声フェードを停止する。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| buf | SE | 効果音を識別するトラック名 | トラック名を変えれば同時に複数の音を操作することが出来ます。 BGMと指定するとBGMの指定。 |
[stopse]効果音再生の停止
効果音再生を停止する。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| buf | SE | 効果音を識別するトラック名 | トラック名を変えれば同時に複数の音を操作することが出来ます。 |
[volume]音量設定
BGMや効果音を指定した音量にする。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| buf | SE | 効果音を識別するトラック名 | トラック名を変えれば同時に複数の音を操作することが出来ます。 BGMと指定するとBGMの音量設定。 | |
| volume | 1.0 | 0.0〜1.0(実数) | 音量 |
[wb]BGM フェードの終了待ち
BGM フェードの終了を待つ。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| canskip | false | Boolean | trueでクリックキャンセル可能にする。 |
[wf]効果音フェードの終了待ち
効果音 フェードの終了を待つ。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| buf | SE | 効果音を識別するトラック名 | トラック名を変えれば同時に複数の音を操作することが出来ます。 | |
| canskip | false | Boolean | trueでクリックキャンセル可能にする。 |
[wl]BGM 再生の終了待ち
BGM 再生の終了を待つ。
loop=true([playbgm]のデフォルト値)なら待たない。
利用時は【音声再生[playbgm]がjoin=true(ちなみにデフォルト)であること】を必須条件とします。
[ws]効果音再生の終了待ち
効果音再生の終了を待つ。
loop=trueなら待たない。 利用時は【音声再生[playse]がjoin=true(ちなみにデフォルト)であること】を必須条件とします。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| buf | SE | 効果音を識別するトラック名 | トラック名を変えれば同時に複数の音を操作することが出来ます。 | |
| canskip | false | Boolean | trueでクリックキャンセル可能にする。 |
[xchgbuf]再生トラックの交換
二つのバッファを交換する。未再生でも再生中でも良いが、フェード中は避けること。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| buf | SE | 効果音を識別するトラック名 | トラック名 | |
| buf2 | SE | 効果音を識別するトラック名 | もう一つのトラック名 |
条件分岐
[else]その他ifブロック開始
プログラム言語における、条件分岐のelse文。
引数無し。
詳細は【開発者向け情報:式の評価と条件分岐】をご覧下さい。
[elsif]別条件のifブロック開始
プログラム言語における、条件分岐のelsif文。
詳細は【開発者向け情報:式の評価と条件分岐】をご覧下さい。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| exp | y | Boolean | trueの場合処理は直後にうつる。 | |
| falseなら次の[elsif]や[else]の評価を行なう。 |
[endif]ifブロックの終端
プログラム言語における、条件分岐のendif文。
引数無し。
詳細は【開発者向け情報:式の評価と条件分岐】をご覧下さい。
[if]ifブロックの開始
プログラム言語における、条件分岐のif文。
詳細は【開発者向け情報:式の評価と条件分岐】をご覧下さい。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| exp | y | Boolean | trueの場合処理は直後にうつる。 falseなら次の[elsif]や[else]の評価を行なう。 |
ラベル・ジャンプ
[button]ボタンを表示
文字レイヤにボタンを配置する。
※選択肢として使用する場合、ジャンプ先のラベル直後には必ず[record_place]を記述して、ジャンプ直後でセーブしても正しくセーブされるようにして下さい。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | デフォルト文字レイヤ | 文字レイヤ名 | ボタンを配置する文字レイヤ | |
| page | back | fore、back | ページの裏表 | |
| pic | y | 画像ファイル名 | 画像ボタンとして配置する画像を指定する。 ただし画像は縦に三等分し、左から「通常時」「クリック押下時」「マウスカーソルを載せた時」の画像として表示する。 | |
| text | ... | ボタンにする文字列 | 文字ボタンとして配置する文字列を指定する。 picかtextのどちらかの指定を必須とする | |
| b_pic | 画像ファイル名 | 文字ボタンの背景画像が指定できる。画像の大きさにかかわらず、文字ボタンのちょうど真ん中に来るよう配置される。 | ||
| width | ※100 | 1〜 | 文字ボタンの横幅を指定する。画像ボタンの場合はこの指定を無視し、画像横幅の1/3にする。 | |
| height | ※30 | 1〜 | 文字ボタンの縦幅を指定する。画像ボタンの場合はこの指定を無視し、画像横幅の1/3にする。 また、文字は必ず横一列になるため、この設定値はフォントサイズと兼用になる。 | |
| style | ※ | CSS style(右項で列挙した一部) | 文字ボタン上にマウスカーソルが乗っていない状態のCSS スタイル。 ※以下がデフォルト値であり、指定できるプロパティ。 fill: 'black'; align: 'center'; fontFamily: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', meiryo, sans-serif; fontSize: 【height属性の値。未指定時は 30】; padding: 5; dropShadow: true; dropShadowAlpha: 0.7; dropShadowColor: #ffffff';(※pixi.js v5.0.3 で色名前が使えない) dropShadowBlur: 3; dropShadowDistance: 0; | |
| style_hover | styleの設定+「fill: white;」を採用 | ... | 文字ボタン上にマウスカーソルが乗っている状態(クリックしていない)のCSS スタイル。 設定できる値はstyleと同様。 | |
| style_clicked | style_hoverの設定+「dropShadow: false;」を採用 | ... | 文字ボタン上にマウスカーソルが乗っている状態(クリックしている)のCSS スタイル。 設定できる値はstyleと同様。 | |
| alpha | 1.0 | 0.0〜1.0(実数) | 透過度。0(完全透明)〜0.5(半透明)〜1(不透明) | |
| left top | ※ | ※ | ※詳細は[lay]を参照 | |
| rotation | 0 | -180〜180 | 回転角を度単位で指定。時計回りは0~180、反時計回りは0~-180を指定。 左上を中心に回る | |
| scale_x | 1.0 | 正負の実数値 | 横方向を何倍に拡大/縮小するか。負の値ならレイヤを左右反転 | |
| scale_y | 1.0 | 正負の実数値 | 縦方向を何倍に拡大/縮小するか。負の値ならレイヤを上下反転 | |
| clickse | 省略時は無音 | 効果音ファイル名 | 指定すると、クリック時に効果音を再生する | |
| enterse | 省略時は無音 | 効果音ファイル名 | 指定すると、ボタン上にマウスカーソルが載った時に効果音を再生する | |
| leavese | 省略時は無音 | 効果音ファイル名 | 指定すると、ボタン上からマウスカーソルが外れた時に効果音を再生する | |
| clicksebuf | SYS | サウンドバッファ名 | クリック時効果音を再生するサウンドバッファを指定する | |
| entersebuf | SYS | サウンドバッファ名 | クリック時効果音を再生するサウンドバッファを指定する | |
| leavesebuf | SYS | サウンドバッファ名 | クリック時効果音を再生するサウンドバッファを指定する | |
| call | false | Boolean | trueの場合は[call]、falseは[jump]。 ただしcall=trueによりサブルーチンコールした場合、[return]によって「コールする前のイベント予約状態&待ち状態」に戻る。 | |
| fn | ... | ... | ... | クリック時にジャンプする先。 指定方法は[jump]と同様 |
| label | ... | ... | ... | (↑と同じ) クリック時ジャンプ先で「&sn.eventLabel」にて値を受け取れる |
| arg | String | 指定した場合、クリック時ジャンプ先で「&sn.eventArg」にて値を受け取れる | ||
| onenter | 何もしない | ラベル名 | マウス重なり(フォーカス取得)時、指定したラベルをコールする。 必ず[return]で戻ること。 | |
| onleave | 何もしない | ラベル名 | マウス重なり外れ(フォーカス外れ)時、指定したラベルをコールする。 必ず[return]で戻ること。 | |
| global | false | Boolean | 詳細は[event]と同様。 ※ボタンを[trans]する場合はtrueにしておく | |
| enabled | true | Boolean | falseだと押せないボタンとなり、クリックイベントが発生しない。 これにより文字レイヤの任意の位置に画像表示できる機能を提供する。 画像は三等分しない。イベントや効果音指定は無効だが、ヒント機能は有効。 | |
| (以下は未作成) | (以下は未作成) | |||
| hint | String | 設定した場合のみ、マウスカーソルを載せるとヒントをチップス表示する | ||
| join | false | Boolean | trueで画像読み込みを待って次のタグへ進む。 | |
| event_at_down | false | Boolean | true:押すだけでイベント発動(画面常駐のシステムボタンなどに) false:押して離すとイベント発動 | |
| draggable | false | Boolean | true:テキスト背後の矩形をドラッグできる。 event_at_down=trueだとクリックイベントが発生しなくなる。 | |
| drag_x | 0 | 画面左上を(0, 0)とする座標 | ドラッグ範囲の左上始点。 | |
| drag_y | 0 | (↑と同じ) | (↑と同じ) | |
| drag_w | 画面横幅 | ドラッグ範囲縦横ピクセル数 | ドラッグ範囲縦横サイズ。 | |
| drag_h | 画面縦幅 | (↑と同じ) | (↑と同じ) | |
| dragmove_fn | ... | ... | ... | ドラッグ中にサブルーチンコールする先。 指定方法は[jump]と同様 |
| dragmove_label | ... | ... | ... | (↑と同じ) |
| dragmove_arg | String | 指定した場合、ドラッグ中コール先で「&sn.eventArg」にて値を受け取れる | ||
| blendmode | 何もしない | ブレンドモード名("screen"など) | このボタンと下のレイヤとの重なりにおいて、 ドット単位で色のブレンド演算を行なう。 詳細はblendModeの解説を参照。 |
[call]サブルーチンコール
スクリプト処理の現在位置をコールスタックに積み、ジャンプする。
ジャンプ先での[return]により本タグの次の位置に戻る事が出来る。 ※あらゆるタグの中で唯一「通常、既読としない」タグですが、普通に使う分には気にしなくて良いです。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| fn | どちらか、もしくは両方を指定 | 処理中のスクリプトファイル | スクリプトファイル名 | コール先のスクリプトファイル [call fn=ext_*]のようにワイルドカードをサポート。マッチするスクリプトを順不同にコールする。 (ワイルドカードは後方のみ) |
| label | スクリプトファイルの先頭 | ラベル名(半角アスタリスク*も含む) | コール先のスクリプトファイルにあるラベル | |
| count | false | Boolean | タグ位置を既読とするか | |
| clear_local_event | 何もしない | Boolean | trueの場合は[clear_event]を行なってからコールする。 |
[jump]シナリオジャンプ
指定位置のスクリプトにジャンプする
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| fn | どちらか、もしくは両方を指定 | 処理中のスクリプトファイル | スクリプトファイル名 | コール先のスクリプトファイル |
| label | スクリプトファイルの先頭 | ラベル名(半角アスタリスク*も含む) | コール先のスクリプトファイルにあるラベル | |
| count | true | Boolean | タグ位置を既読とするか |
ラベルは例えば以下のように使います。
*aaa 無限ループ [jump label=*aaa] ; ======================= さらにラベル名を考えるのが面倒なとき、「無名ラベル」ともいうべき機能が使えます。 「**after」は「そのコマンド以降で最初に見つかった**ラベルに」 「**before」は「そのコマンド以前で最初に見つかった**ラベルに」 ジャンプ・コールする、という指定です。次のように書きます。 ; ======================= [jump label=****after] *** ** も [jump label=**after] ;** っ ** [l] ぷ [jump label=**before] ** @[s] ** **** す [jump label=***before] ; ======================= この例では「すもぷぷぷ……」と文字が表示されます。 「**」とか「***」とかアスタリスクは二個以上の任意の数が使え、同じ数同士が対応するラベルとなります。 が、上記例で見るとおりあんまり複雑に使うと可読性が下がってしまう気がしますので、局所的な用途に限ったほうが良さげです。
[pop_stack]コールスタック破棄
コールスタックを一つ破棄する
極力使用しないコーディングを推奨します。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| clear | false | Boolean | true:全て破棄する。空でもエラーを出さない false:スタックを一つ破棄する。空の場合はエラーメッセージ&アプリ停止 |
[return]サブルーチンから戻る
コールスタックに積まれているジャンプ先にジャンプする。
最後に積んだスタックを一つ破棄する。
マクロ
[bracket2macro] 括弧マクロの定義
引数textを持つマクロやタグを、任意の二つの文字を括弧とし、括弧で囲った記述で代用できるよう
例 …… [bracket2macro name=title text=⦅⦆] (訂正:「任意の二つの文字」は特定の半角文字じゃなくてもよいです) ※適用範囲について 本タグより前にロードされたスクリプトファイルには適用されません。 またスクリプトファイルに本タグが記述された場合、本タグより前に出現した半角文字にも適用されません。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| text | y | 特定の文字 | 括弧にする任意の二つの文字。 マクロに出来るのは英文字、空白、;、[、]、、=、&、|、《、》以外のみ。 正規表現で言えば /[\w\s;[]=&|《》]/ 以外。 一文字マクロや定義済みの括弧文字は使用できない。 | |
| name | y | 定義済みのマクロ名 | 半角文字に割り当てるマクロ名を指定。 組み込みタグか、[macro]による定義済みマクロ名で無ければならない。 組み込みタグやマクロは引数textだけを指定しても問題なく動作し、 それを処理すること。渡される引数textは空文字の場合もある。 |
[break_macro]マクロから脱出
マクロ内の途中で、マクロから脱出したい際に使用する。
[char2macro] 一文字マクロの定義
引数無しのマクロやタグを、半角文字の記述で代用できるよう定義する
本タグより前にロードされたスクリプトファイルには適用されません。 またスクリプトファイルに本タグが記述された場合、本タグより前に出現した半角文字にも適用されません。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| char | y | 特定の半角文字 | マクロにする半角文字。 マクロに出来るのは英文字、空白、;、[、]、、=、&、|、《、》以外のみ。 正規表現で言えば /[\w\s;[]=&|《》]/ 以外。 括弧文字や定義済みの一文字マクロは使用できない。 | |
| name | y | 定義済みのマクロ名 | 半角文字に割り当てるマクロ名を指定。 組み込みタグか、[macro]による定義済みマクロ名で無ければならない。 |
[endmacro]マクロ定義の終了
[macro]と[endmacro]に囲まれた部分をマクロとして定義する。
[macro]マクロ定義の開始
[macro]と[endmacro]に囲まれた部分をマクロとして定義する。
定義したマクロは既存のタグと同様に使用できる。 渡した引数は、マクロ側で「mp:」スコープにより参照できる。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| name | y | マクロ名 | String | 既存のタグやマクロと重複しないマクロ名 |
しおり
[copybookmark]しおりの複写
しおりデータを複写する
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| from | y | 数値 | 複写元のしおり番号 | |
| to | y | 数値 | 複写先のしおり番号 | |
| path | 従来通り SharedObjectに保存 | フォルダパス | 指定した場合、複写先(to)のしおりをファイルとしてフォルダパス下に保存する。 |
[erasebookmark] しおりの消去
しおりデータを削除する
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| place | y | 数値 | 処理対象のしおり番号 |
[load]しおりの読込
しおりデータを読み込み、スクリプト処理を再開する
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| place | y | 数値 | 処理対象のしおり番号 | |
| fn | ... | ... | ... | ロード後最初にしたい共通処理をコールする(処理は[return]で終わらせる)。指定方法は[jump]と同様。 ただし指定する際、fnとlabelは両方指定しなければならない。 |
[record_place] セーブポイント指定
本タグの位置を、スクリプト読み込み時に再開する位置として設定する。
。 引数無し。 ※マクロやサブルーチン内に記述された場合、最初に積まれたコールスタック位置をセーブポイントとする。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | 全てのレイヤ | 保存対象レイヤ名(カンマ区切りで複数可能) | しおりに状態を保存するレイヤ。Save/Load画面レイヤや設定画面レイヤなど、保存すべきでないレイヤを除いて指定すべき | |
| reset_sound | true | Boolean | 全てのサウンドを停止・再度再生開始するか |
[reload_script] スクリプト再読込
現在処理中のスクリプトをリロードする。
トまで戻って再開する。 引数無し。 ※スクリプトを大幅に変えた後だと、正常に再開できない場合があります。
[save]しおりの保存
しおりデータを保存する。
トの位置は最後に[record_place]をコールした位置。 [record_place]がゲーム状態(レイヤ状態など)をバッファに退避し、 [save]は指定しおりに書き出す機能。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| place | y | 数値 | 処理対象のしおり番号 | |
| path | 従来通り SharedObjectに保存 | フォルダパス | 指定した場合、しおりをファイルとしてフォルダパス下に保存する。 |
画面揺らし
[quake]画面を揺らす
画面全体を揺らす
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| time | y | ミリ秒数 | 揺らす時間 | |
| hmax | 10 | Integer | 横方向の最大揺らし幅。幅はランダム値を取る | |
| vmax | 10 | Integer | 縦方向の最大揺らし幅。幅はランダム値を取る | |
| ease | Linear.None(イージング無し) | イージング名 | 揺れのイージング(値の変化の仕方)を指定する。 イージングの変化はこちらの図(またはこちら)が分かりやすい。 指定できる値は[tsy]を参照 |
[stop_quake]画面揺らし中断
画面揺らしを中断する
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| canskip | true | Boolean | クリックなど(→詳細は[waitclick])でウエイトをキャンセルできるか |
[wq]画面揺らし終了待ち
画面揺らしの終了を待ち、再開する。
[event]などでイベントが登録されていても、イベント発生待ちを行わない。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| canskip | true | Boolean | クリックなど(→詳細は[waitclick])でウエイトをキャンセルできるか |
システム
[close]アプリの終了
アプリケーションを終了する
※Flash 上では動作しません。タグを呼んでも何もしません。
[loadplugin] プラグインの読み込み
プラグインとして読み込む
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| fn | y | ファイル名 | 読み込むプラグインのファイル名 (拡張子はcssのみ、Webフォント用) | |
| join | true | Boolean | trueで読み込みを待って次のタグへ進む。 |
[naviate_to]URLを開く
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| url | y | URL文字列 | 開くURL |
[snapshot]スナップショット
アプリ表示部分全体を画像として保存する
文字の表示とスナップショットは、厳密には同じではないので注意。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer | 全てのレイヤ | レイヤ名(半角カンマ区切りで複数レイヤを指定可能) | ||
| page | fore | fore、back | ページの裏表 | |
| fn | snapshot | String | ※保存するファイル名 省略時はデスクトップに保存 保存する画像フォーマット(png、jpg)は拡張子で指定 | |
| width | アプリ表示部分の横サイズ | 1〜 | 保存する画像の横ドットサイズ。 元のサイズと異なる場合は拡大・縮小される。 | |
| height | アプリ表示部分の縦サイズ | 1〜 | 保存する画像の縦ドットサイズ。 元のサイズと異なる場合は拡大・縮小される。 | |
| smoothing | false | Boolean | 拡大・縮小保存される場合、スムージングするか | |
| b_color | config.anprjで指定した背景色 | 色指定。0xFF000000(黒)など 16進数では透過2桁+赤2桁+緑2桁+青2桁で指定 | テキスト背後の矩形色。pngで 0x0 にすると透過する。 透過しない黒は 0xFF000000 |
※fnを「userdata:/」で始まるファイル名にするとセーブデータと同じフォルダに保存します。
【暫定版】(2019/12/09)以下は不正確です
| OS | Path |
|---|---|
| Mac OS X | HD/Users/[user]/Library/Preferences/[id]/ |
| Windows 7 | C:\Users[user]\AppData\Roaming[id]\ |
| Linux | /home/[user]/.appdata/[id]/Local Store |
| [user]はインストールしたユーザー名、 | |
| [id]はアプリ固有のIDです。 | |
| 参考:アプリケーション記憶領域ディレクトリ |
[title]タイトル指定
アプリウインドウのタイトル文字列を設定する。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| text | y | String | タイトル文字列 |
[toggle_full_screen] 全画面状態切替
呼び出す度にアプリの全画面/ウインドウモードを切り替えます。
現在の状態は文字列変数「tmp:const.sn.displayState」で分かる。trueならフルスクリーン
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| fn | イベント登録せずモード切替 | イベントのキー名※1 | イベントを発生させるトリガーイベントを予約する。 key属性の値は[event]を参照 |
[update_check] 更新チェック機能
ネットにアプリの更新を確認し、ダウンロードもサポートする
アプリの最新バージョンをネットで確認する。(アプリ版でのみ動作)
処理は非同期に行われ、更新があった時のみ更新確認ウインドウが表示される。
ダウンロードフォルダにアプリパッケージの dmg(インストーラー exe)をダウンロードする。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| url | y | String | latest(-mac).ymlや、dmg(exe)を置いたWebサーバーのフォルダURLを指定する。終端は「/」をつけること。 |
基本的に二つのファイルをアップロードするだけです。
・OS X
1.【exe作成】で build/ 下に「〜.dmg」と「latest-mac.yml」などが生成される。
2.「latest-mac.yml」を開き、書いてあるファイル名に合わせるように「〜.dmg」ファイル名を変える。(サーバーにアップしてから変えても良さげ)
「~.yml」がWebブラウザなどで開けるのを確認。
例) http://ugainovel.hiho.jp/famibee/sample/hatsune/latest-mac.yml
4. main.sn にある [update_check] の url属性に、二つのファイルをアップした「ディレクトリ名」を記述。
[update_check url='http://ugainovel.hiho.jp/famibee/sample/hatsune/'] 5.【アプリ版を起動】して試してみる。バージョン番号が違う場合のみ、更新チェック機能によるダイアログが表示される。
1.【exe作成】で build/ 下に「〜.exe」と「latest.yml」などが生成される。
2.「latest.yml」を開き、書いてあるファイル名に合わせるように「〜.exe」ファイル名を変える。(サーバーにアップしてから変えても良さげ)
「~.yml」がWebブラウザなどで開けるのを確認。URLをメモ。
例) http://ugainovel.hiho.jp/famibee/sample/hatsune/latest.yml
4. main.sn にある [update_check] の url属性に、二つのファイルをアップした「ディレクトリ名」を記述。
[update_check url='http://ugainovel.hiho.jp/famibee/sample/hatsune/'] 5.【アプリ版を起動】して試してみる。バージョン番号が違う場合のみ、更新チェック機能によるダイアログが表示される。
[window]アプリウインドウ設定
ゲームアプリのウインドウサイズや位置などを変更する
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| width | 現在値 | 1〜 | アプリウインドウの横幅を指定 | |
| height | 現在値 | 1〜 | アプリウインドウの高さを指定 | |
| framerate | 現在値 | 1〜 | アプリ全体のフレームレートを変更 | |
| centering | 何もしない | Boolean | trueを指定すると、アプリウインドウをデスクトップの中央に移動する | |
| x | 何もしない | 画面左上を(0, 0)とする座標 | デスクトップにおけるアプリウインドウの横位置を指定 | |
| y | 何もしない | (↑と同じ) | デスクトップにおけるアプリウインドウの縦位置を指定 |
デバッグ・その他
[dump_lay]レイヤのダンプ
レイヤの内容をデバッグ表示する
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| layer n 全てのレイヤ レイヤ名(半角カンマ区切りで複数レイヤを指定可能) 「plg:プラグイン名」と記述する事でプラグインも指定できる。 |
[dump_val]変数のダンプ
変数の内容をデバッグ表示する
[dump_script] スクリプトのダンプ
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| xxxxxx | y |
[dump_stack]スタックのダンプ
[call]等によるコールスタックの内容をデバッグ表示する
[log] ログ出力
引数をデスクトップにテキスト出力する(追記ではなく上書き。追記する。出力日時・分・スクリプト名や行番号やプロジェクト名も出力
[stats]パフォーマンス表示
FPSやメモリ使用量をチェックするStatsを表示する。(見方)。
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| left | 0 | 画面左上を(0, 0)とする座標 | 表示の横位置 | |
| top | (↑と同じ) | (↑と同じ) | 表示の縦位置 |
[trace]デバッグ表示へ出力
引数をデバッグ表示する
| 属性 | 必須 | 省略時 | 値域・型 | コメント |
|---|---|---|---|---|
| text | y | String | デバッグ表示する値 |