文の行の書き方¶
文(*)の本文の各行は、行頭の文字で種類が決まります。
| 行頭 | 種類 | 詳細 |
|---|---|---|
$ |
変数の代入 | 変数 |
> ≫ ≧ |
ジャンプ | 制御構造 |
_ |
選択肢 | 選択肢 |
→(文の1行目のみ) |
話しかけ | コミュニケート |
| それ以外 | 通常の行(喋る内容) | このページ |
通常の行¶
行の中の文字は、左から順に処理されます。
| 書かれたもの | 処理 |
|---|---|
(…) |
展開して、結果に置き換える(()の展開) |
: |
喋るキャラクターの切り替え(0 と 1 を交互に切り替える) |
\ で始まるもの |
さくらスクリプト。そのまま出力される(さくらスクリプトの扱い) |
% で始まるもの |
ベースウェアが展開する置換タグ(%month など)。そのまま出力される |
| その他 | 喋る文字。そのまま出力される |
行の終わりで、$自動改行挿入が有効なら \n が付きます。
喋るキャラクター¶
トークは、最初は相方側(\1)が喋る状態で始まります。
:を書くたびに、本体側(\0)と相方側(\1)が交互に入れ替わります。最初の:で本体側になります。characters.iniに名前を登録すると、さくら:のように名前で切り替えられます(replace)。\0\1\h\u\p[n]も使えます。- キャラクターが 3 人以上のときは
\p[n]か、characters.iniの名前を使います。
*OnBoot
:こんにちは。
:こんにちは、さくらさん。
サーフェスの切り替え¶
(数字) で、喋っているキャラクターのサーフェスを切り替えます((0) (10) (-1))。詳しくはスコープとサーフェス。
行の連結¶
物理的な行を連結したいときは、行末に φ を書くか、() の中で改行します(前処理)。
【タブ】について¶
このマニュアルのコード例にある 【タブ】 は、タブ文字(\t)1 文字を表します。表示上は半角スペースと見分けにくいので、【タブ】 と書いています(旧 Wiki と同じ表記です)。
- 辞書に書くときは、
【タブ】の 5 文字ではなく、タブ文字 1 文字に置き換えます。半角スペースでは区切りになりません。 - Web 版のマニュアルでは、コード例のコピーボタンを押すと、
【タブ】がタブ文字に置き換わってクリップボードに入ります。 - 次のような場所で使います。
$名前【タブ】値
*名前【タブ】式
>名前【タブ】式
_ラベル【タブ】ID
replace.txt で 【タブ】 と書けるようにする¶
replace.txt に 1 行書くと、辞書にも 【タブ】 と書いたまま読み込めます。タブ文字が見えない環境でも、区切りを見分けやすくなります。書く行は、【タブ】 という 5 文字、区切りのタブ 1 文字、置換後のタブ 1 文字の順に並べたものです。つまり、行の中身は「【タブ】、タブ、タブ」です。
コピーボタンは使えません
この行はコード例にすると、コピーボタンが 【タブ】 をすべてタブ文字にしてしまうため、載せていません。エディタで 【タブ】 と打ってから、続けてタブを 2 回押して書いてください。
- 置換は連結後の 1 行に対して行われます。カッコの中で続く行の行頭に
【タブ】を書くと、行頭のタブとして無視されず、タブ文字が出力に残ります。字下げは実際のタブで書いてください。 replace.txtの文字コードはsatori_bootconf.txtのis_utf8_replaceで決まります(文字コード)。