<p>要素
$ σ_σ$ < p要素は段落(paragraph)、あるいは印字(print)の略よ。 Σc ' _' ) < 要するに文字の出力はコレだ。
概要
文章を画面に表示する要素。
文脈(コンテクスト)
命令要素(act,option要素内)
<p/>
文字が出力されないだけで、挙動は包含要素と同じ。
主に、単なるキー入力待ちとして使う。
包含要素(act,option要素内)
<p>1行目メッセージ 2行目メッセージ</p>
基本は内容に出力文字列を書くという使い方。
actに内包されている場合、メッセージが出力される。
コマンド入力(select要素)を挟まずにメッセージ(p要素)が出力される場合は、キー入力待ちとなる。
その際、returnのようなコマンド確定系のキー以外を入力すると、次へ進む。
これさえ知っていれば、他の使い方は知らなくても、さほど問題ない。
大抵はoption要素の中に配置してコマンド選択の結果として出力される。
定義要素(textio要素内 id付き)
textio要素直下にidを付けて配置すると、召喚要素を使って呼び出せる。
<p id="miss">残念、君の冒険は失敗に終わった。</p>
textioの直下に配置。
id属性がついていない場合、何の役にも立たない。
召喚要素(act,option要素内 id付き空要素)
<p id="miss"/>
id付きの空要素として使うと、定義要素が呼び出される。
置換要素(p要素内 id付きの空要素)
<p>おおっと、落とし穴だ。<p id="miss"/></p>
id付きの空要素として使うと、定義要素に置き換えられる。
i要素と似ているがiの内容は変数であり、pは定義した内容に固定されている。
属性
action属性
clearは文字を全て消してから表示する。
<p action="clear">画面最上部に表示される。</p>
nonstopはキー入力待ちを発生させない。
一つ目のp要素に設定しても、繋ぐための直前のp要素が存在しないので意味がないので注意。
<p action="nonstop">直前のp要素に接続して表示される。</p>
joinは改行を入れない。
<p action="join">…</p><p action="join">…</p><p action="join">…</p>
color属性
16進数6桁のカラーコードを書くことで、文字の色を指定できる。
16進数の頭には#を付ける事。
指定しない場合はtextio要素のcolor属性で指定した値。
<p color="#cc99dd">…</p>
size属性
数値を書くことで、文字の大きさを指定できる。
指定しない場合はtextio要素のsize属性で指定した値。
<p size="20">…</p>
条件分岐
適用可能な判定属性
p要素はvar、i、item、at、pla属性による条件判定が可能。
条件となる属性が複数ある場合は、andで判定が行われる。
<p var="flag" item="カギ" at="ドア" pla="応接間">ドアの向こうは庭だ。</p>
else節
<p var="doorOpen">ドアは開いている。<else/>ドアは閉じている。</p>
内容ありのp要素はelse要素を含める。
p要素で、何らかの判定属性が設定されていないと、else節は実行されない。
p要素の使い方
p要素は文字列を扱うので、文字列に関するXML文書の仕様を幾つか知っておく必要がある。
詳細はXMLの仕様を参照してもらうとして、ここではテクスティオで必要なXMLの知識を簡単に解説する。
実体参照
XML文書の区切り文字として使われる、&,<,>,"は、実体参照形式で書く必要がある。
順に、&,<,>,"の形だ。
<p>ラット&ラビット</p>
とはいえ、これらの記号を文章内に使うことはまずないだろう。
空白文字の無視
内容の前後にある空白(半角スペース・改行およびTAB)は無視される。
よって、次の2つの記述は出力時には同じ表示となる。
<p>文字列</p>
<p> 文字列 </p>
CDATAセクション
<![CDATA[
で始まり、]]>
で終わるところはXML文書の中でも、そのままのテキストを書ける。
<p><![CDATA[ CDATAの中は空白や改行がそのまま反映されます。 また、<>&"などを実体参照(例&)で書く必要もありません。]]> </p>
読みやすくするコツなど
文章は何行でも書けるが、一度のp要素に書くのは最大3行を目安にした方が読みやすい。
また、プレイヤーが操作せずにずっと文を読むのは退屈するので、文章送り操作だけでも入れておいた方が良い。