メッセージを表示してみましょう
$ σ_σ$ < とりあえず文章が表示できれば小説にはなるわ。 Σc ' _' ) < ノベルだぜ!
最初のシナリオ製作
前回root.xmlを開いて中味を確かめることができました。
今回は、root.xmlを書き換えてみます。
失敗しても、またダウンロードして最初からやり直せばいいので、じゃんじゃん書き換えて失敗してみましょう。
失敗の数だけ強くなれる!
Σc ' _' ) < こいつ、なんかいいこと言った気になってる。 $ σ_σ$ < 大人はこうやって自尊心を保つのよ、見ておきなさい。
…ときどき、ガキンチョどものちゃちゃが入りますが、気にしないで下さい。私も気にしません。
さて、root.xmlを次のように書き換えて、保存しましょう。
<?xml version="1.0" encoding="UTF-8"?> <textio> <act> <p>はろーわーるど。</p> </act> </textio>
書き換えて保存したら、sample.htmlを表示したブラウザをリロードして、どのように動くか確認してみましょう。
大抵最初は、余計な文字が残ってたり消し過ぎたりして上手く動かないかと思います。
慎重に書き換えてはリロードを、上手くいくまで繰り返しましょう。
上手く動いたら、あちこち書き換えて試すのも良いでしょう。
疑問が残ってると不安になりますから、気になったらすぐ試すのが上達の近道です。
actの内部は繰り返されますので、同じメッセージが延々出ると思います。
ともかく、これで最初のシナリオ製作ができました。簡単ですね!
各要素の説明
XML宣言
<?xml version="1.0" encoding="UTF-8"?>
最初のこの行は、このテキストはXML文書ですよー、という宣言です。
実はこれ書かなくてもテクスティオは動きます。
じゃあなんで書くのかというと、XML宣言を書いておくと、エディタなどのツールがXMLだと理解してくれるので、色々とXMLを書くのに便利な機能が使えるようになるからです。
例えば、今後よく利用する事になる、W3C Markup Validatorで、ちゃんとしたXML文書になっているかチェックする際にも、この宣言がないとXMLとしてチェックされません。
ひな形のファイルを複製して使うとか、この行をコピー&ペーストして使うとか、そもそもXMLエディタなら宣言を挿入する機能があると思うので、面倒なこともないと思います。
シノゴノ言わず、書いておきましょう。
ちなみに、XML文書を直接ブラウザで開くと、ブラウザによっては、要素毎に閉じたり開いたりできる形式に整えて表示してくれたりします。
通常使うエディタ以外で見ると、ふとアイディアが湧いたりするので、行き詰まった時にブラウザでシナリオを見なおしてみるのも、ひとつの手です。
あと、サンプルシナリオをコピーして使えば問題ないですが、エンコーディングはUTF-8です。ノリでなんとなくSHIFT-JIS使ったりしないように!!
textio要素
次に出てくるのがtextio要素です。
これもとにかく書いて置く系のもので、工夫の余地はありません。
実は要素名はtextioじゃなくても動く、という位にいいかげんな作りです。
<?xml version="1.0" encoding="UTF-8"?> <textio> </textio>
Σc ' _' ) < いらねーんじゃないの、これ。 $ σ_σ$ < おとなのじじょうを感じるわ。
そういわず、書いてください。
act要素
次がact要素です。
テクスティオは場面をact単位でまとめているので、これもとにかく書いておく必要があります。
<?xml version="1.0" encoding="UTF-8"?> <textio> <act> </act> </textio>
ここではひとつしかありませんが、actが複数存在するシナリオも書けます。
p要素
次がp要素です。
画面に出るメッセージ全般を受け持つ、重要な要素です。
p要素の中以外は、空白文字(半角スペース・改行・タブ)は無視されるので、どのように書くかは自由です。
最初に書いたシナリオを適当に縮めてみました。
<?xml version="1.0" encoding="UTF-8"?> <textio><act><p>はろーわーるど。</p></act></textio>
p要素の内容は、改行もそのまま出力に反映されますが、頭の部分と最後の部分の空白文字は無視されます。
ですから、次のように書いても出力は同じです。
<?xml version="1.0" encoding="UTF-8"?> <textio><act><p> はろーわーるど。 </p></act></textio>
各自、見やすい書き方をしてください。
p要素はact要素の中に連続して書けます。
そしてp要素毎にキー入力待ちが発生します。
以上、textio、actそしてpの3要素を紹介しました。
まだまだゲームと言うには寂しいですが、何らかの作品は作れる程度にはなりました。
簡単ですね!
実際、当サイトのゲームであるテクス君とティオちゃんのIF入門や虚空の揺籃の一部シナリオなど、選択肢がなくメッセージを読み進めるだけの作りになっています。
ちなみに、同じく当サイトのメイド漫才は、なにげにシナリオファイルにテクスティオのカスタムバージョンを使っています。選択肢のない作品の例として参考にしてください。
まとめ
- テクスティオはroot.xmlの中にシナリオが書かれる。
- XML宣言を入れておくと、XML用のツールを使う時に便利。
- textioとact要素は絶対必要なのでとにかく書いておく。
- p要素があれば、メッセージ表示ができる。
一応なにか作れるようになったとはいえ、やはりゲームを名乗るからにはプレイヤーに選択権が欲しいですよね。
次回は、入力による分岐の書き方を解説します。