Files
krkr2doc/docs/kag3doc/contents/Letter.html
2016-09-08 17:50:19 +09:00

159 lines
14 KiB
HTML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<!-- generated by to_html.pl from Letter.xml -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>文字を表示しよう</title>
<meta name="author" content="W.Dee" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<link href="browser.css" type="text/css" rel="stylesheet" title="吉里吉里関連リファレンス用標準スタイル" />
<link href="mailto:[email protected]" rev="Made" />
<link href="index.html" target="_top" rel="Start" title="トップページ" />
</head>
<body>
<h1><a id="id92" name="id92">どんなスタイルにするか</a>
</h1><div class="para"><div>
 おおよそこの世の中の文字ベースのアドベンチャーゲームは、メッセージ枠を表示してそこに文字を表示するタイプと、画面全面に文字を表示するタイプ(ヴィジoアルノベルタイプ)に分かれると思いますが、文字の表示場所が違うだけで大差ないと思われるので、KAG はどちらの方式でもできるようになっています。<br />
<br /><div class="descimg"><img width="325" height="265" alt="UsingVN.jpg" src="UsingVN.jpg" /><img width="325" height="265" alt="UsingFrame.jpg" src="UsingFrame.jpg" /><br />二つの方式</div><br /> また縦書きもできます。<br />
<br /><div class="descimg"><img width="325" height="265" alt="Vertical.jpg" src="Vertical.jpg" /><br />縦書き表示</div><br /> デフォルトでは横書きのいわゆるヴィジュアルノベルタイプの表示を行うようになっています。詳しくは Config.tjs を参照してください。このチュートリアルではこのデフォルトのヴィジュアルノベルタイプの表示を前提に話を進めます。<br />
</div></div>
<h1><a id="id93" name="id93">とにかくなにかを表示する</a>
</h1><div class="para"><div>
 では、試しに何かを表示してみましょう。scenario フォルダの中には、<a id="id94" name="id94" class="targanchor"><dfn>first.ks</dfn></a> というファイルがあると思います。このファイルが一番最初に読み込まれるシナリオファイルです。<br />
 標準の状態では、以下のような内容が書き込まれています。<br />
<br />
<code class="bq">[wait&nbsp;time=200]<br />
*start|スタート<br />
[cm]<br />
こんにちは。<br />
</code>
<br />
 いきなりごちゃごちゃ書いてあって困るかと思いますが、「こんにちは。」と書いてある行のみ注目してください。この「こんにちは。」の代わりに、なにか表示したい文字をエディタで書き込んでみてください。たとえば、「こんばんわ。」でもかまわないです。<br />
 そうしたら、吉里吉里を起動し、[フォルダ/アーカイブ選択]のダイアログボックスが開いたら、あなたの作ったプロジェクトフォルダを指定して [OK] ボタンを押します。<em>指定するのはプロジェクトフォルダです。first.ks ではありません。</em><br />
<br />
<br /><div class="descimg"><img width="650" height="528" alt="kon-banwa.png" src="kon-banwa.png" /><br />「こんばんわ。」</div><br /> すると、真っ黒な画面に「こんばんわ。」と表示されましたね。背景を指定するのは後<span class="comlink"> ( → <a target="main" class="jump" href="DispBase.html">背景を表示しよう</a> ) </span>で説明します。<br />
 とにかく、この「こんにちは。」の代わりに表示したい文字を書き込めば、このように表示させることができるのです。<br />
</div></div>
<h1><a id="id95" name="id95">クリック待ちと改行を使ってみよう</a>
</h1><div class="para"><div>
 今度は、行末でクリック待ちをしてみましょう。クリック待ちをするには、[<a id="id96" name="id96" class="targanchor"><dfn>l</dfn></a>] をクリック待ちをさせたい部分に書き込みます。( [l] は半角です; l は小文字の L )<br />
 それと、改行を行わせるために [<a id="id97" name="id97" class="targanchor"><dfn>r</dfn></a>] をそのあとに書きます。<br />
<br />
<br />
<code class="bq">[wait&nbsp;time=200]<br />
*start|スタート<br />
[cm]<br />
こんにちは。[l][r]<br />
ごきげんよろしゅう。[l][r]<br />
</code>
<br />
 吉里吉里はいったん終了させて、また起動し、プロジェクトフォルダを実行してみてください。<br />
<br />
<br /><div class="descimg"><img width="650" height="528" alt="gokigen.png" src="gokigen.png" /><br />クリック待ち</div><br /><br />
 「こんにちは。」の後でクリック待ちとなり、クリックをすれば改行されて、「ごきげんよろしゅう。」と表示されたはずです。<br />
</div></div>
<h1><a id="id98" name="id98">改ページ待ちを使ってみよう</a>
</h1><div class="para"><div>
 文字を全部消去して、また左上から文字を表示し始めたいときは、新しい行に [<a id="id99" name="id99" class="targanchor"><dfn>cm</dfn></a>] と書き込みます。( [cm] は半角です )<br />
 しかしその前にクリック待ちを行わないと、勝手に画面が消去されてしまいます。[cm] の前には普通は [<a id="id100" name="id100" class="targanchor"><dfn>p</dfn></a>] と書き込みます。以下の例を見てください。<br />
<br />
<code class="bq">[wait&nbsp;time=200]<br />
*start|スタート<br />
[cm]<br />
こんにちは。[l][r]<br />
ごきげんよろしゅう。[l][r]<br />
改ページしますよ。[p]<br />
[cm]<br />
改ページしました。<br />
</code>
<br />
 さて、これを実行してみてください。[p] の位置で改ページを示す記号が現れてクリック待ちとなり、クリックすると文字が全部消去されて、再び左上から「改ページしました。」と表示されたと思います。<br />
<br />
<br /><div class="note"><div class="notehead"><span class="noteheadspan">Note</span></div>
 メッセージを消去するタグは er ct cm の3つがあります。それぞれ微妙に動作が違うのでセーブとロードの説明のところ<span class="comlink"> ( → <a target="main" class="jump" href="SaveLoad.html">セーブ・ロードに対応させよう</a> ) </span>で説明します。特別なことをやらないのであれば cm に統一してしまってもよいかも知れません。<br />
</div><br />
<br />
<br /><div class="note"><div class="notehead"><span class="noteheadspan">Note</span></div>
 KAG 3 未満のチュートリアルでは、ここで ct を使っていました。cm は ct 同様、すべてのメッセージレイヤをクリアしますが、ct のように、操作対象のメッセージレイヤを表画面の messaeg0 に戻したりしません。ct よりも使い勝手がよいかと思います。<br />
 しかし、後述のセーブ可能なラベルの直後は、cm か ct タグを書かなければならないということは注意しなければなりません。</div><br />
<br />
 KAG では、文字はすべて「<a id="id101" name="id101" class="targanchor"><dfn>メッセージレイヤ</dfn></a>」と呼ばれるレイヤに描画されます。KAG では標準ではもう一つメッセージレイヤがあって、二つを使えば二人で対話しているようなシーンも表現可能です。<a id="id102" name="id102" class="targanchor"><dfn>current</dfn></a> タグなどを参照してください。<br />
</div></div>
<h1><a id="id103" name="id103">タグってなんだ</a>
</h1><div class="para"><div>
 で、いままで角かっこ [ ] で囲まれた半角のヤツはなんなんだということになりますが、<br />
 [ ] で囲まれているものは<em>タグ</em>、と呼ばれるもので、いろいろと KAG を制御するためのものです。<br />
 たとえば、一番最初の行に、<code class="inlinecode">[wait time=200]</code> という部分がありますが、これは <code class="inlinecode">wait</code> という<em><a id="id104" name="id104" class="targanchor"><dfn>タグ名</dfn></a></em>に、 <code class="inlinecode">time=200</code> という<em><a id="id105" name="id105" class="targanchor"><dfn>属性</dfn></a></em>を伴った「タグ」です。属性は、 <code class="inlinecode">time</code> というのが<em>属性名</em>で、 <code class="inlinecode">200</code> というのが<em>属性の値</em>という呼び方をします。<br />
 このような感じで、まず [ の次に「タグ名」、スペースを空けて 「属性名=属性の値」を書き込みます。「属性名=属性の値」は複数続くことがあります。最後に ] がきて、タグが終わります。<br />
 これからいろいろなタグが出てきますが、最初は見よう見まねで書いていても、そのうち感覚がつかめてくると思います。<br />
 タグはいろいろと重要です。KAG に対する文字表示以外の指示はすべてこのタグで行います。いろいろなタグがありますから、<a target="main" class="jump" href="Tags.html">タグリファレンス</a>を参照してみてください。<br />
<br />
 <a id="id106" name="id106" class="targanchor"><dfn>マクロ</dfn></a><span class="comlink"> ( → <a target="main" class="jump" href="Macro.html">マクロを使おう</a> ) </span>を使って、既存のタグを組み合わせて新しいタグを定義することができます。これを使うとお決まりのタグをひとつのタグにできるので便利です。ゲームシステムにあわせ、あらかじめタグのセットをマクロで定義しておくと便利でしょう。<br />
<br />
<br /><div class="note"><div class="notehead"><span class="noteheadspan">Note</span></div>
 KAG 3 未満では、行末に \ (円記号) を書かない限り、行末で改行されていました。KAG 3 以降では、[r] を書かない限り改行されません。KAG 3 未満の改行の扱いと同じにしたい場合は、Config.tjs の global.ignoreCR を false に指定してください。<br />
</div><br />
<br />
</div></div>
<h1><a id="id107" name="id107">コマンド行</a>
</h1><div class="para"><div>
 先頭に @ (半角@) を書いた行は、「コマンド行」として認識されます。<br />
 @ の次にはタグの [ と ] で囲まれた部分、つまり、タグ名とその後に(もしあれば)属性を書きます。一つの行には一つのコマンドのみを書くことができます。<br />
 書き方が違うだけで、実質タグと同様の動作をします。<br />
<br />
 たとえば、次の2行は同じ意味になります。<br />
<br />
<br />
<code class="bq">[wc&nbsp;time=20]<br />
@wc&nbsp;time=20<br />
</code>
<br />
<br />
 また、「改ページ待ちを使ってみよう」の例は、以下のように書き換えることができます。<br />
<br />
<br />
<code class="bq">@wait&nbsp;time=200<br />
*start|スタート<br />
@cm<br />
こんにちは。[l][r]<br />
ごきげんよろしゅう。[l][r]<br />
改ページしますよ。[p]<br />
@cm<br />
改ページしました。<br />
</code>
<br />
</div></div>
<h1><a id="id108" name="id108">シナリオ中の特殊記号・特殊行</a>
</h1><div class="para"><div>
 シナリオは普通のテキストファイルで、自由に何を書いてもいいのですが、以下の記号は特殊な用途に使われるので、使いたいときは注意が必要です。<br />
<br />
<dl>
<dt>  <a id="id109" name="id109" class="targanchor"><dfn>[</dfn></a>  ( 半角開き角カッコ )</dt>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; タグの始まりを示す記号です(^^;;<br />
&nbsp;&nbsp;&nbsp;&nbsp; もしどうしても半角の角カッコの始まりを、タグの始まりとしてではなく使いたい場合は、<code class="inlinecode"><em>[[</em></code> と、これを二つ続けて書いてください ( 角カッコの閉じカッコは普通に書けば OK です )。</dd>
<dt>  <a id="id110" name="id110" class="targanchor"><dfn>;</dfn></a>  ( 半角セミコロン )</dt>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; このセミコロンが<em>行頭に書かれた行は</em>、何を書いても無視されます。つまりコメントをここに記述することができます。</dd>
<dt>  <a id="id111" name="id111" class="targanchor"><dfn>*</dfn></a>  ( 半角アステリスク )</dt>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; <em>行頭に書かれた場合のみ</em>、ラベルを定義します。リンクするときにターゲットとなるほか、セーブ・ロード時の目印にもなります (別の場所でお話しします)。</dd>
<dt>  <a id="id112" name="id112" class="targanchor"><dfn>@</dfn></a>  ( 半角アトマーク )</dt>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; <em>行頭に書かれた場合のみ</em>、コマンド行であることを示します。</dd>
<dt>  <a id="id113" name="id113" class="targanchor"><dfn>タブ</dfn></a></dt>
<dd>&nbsp;&nbsp;&nbsp;&nbsp; 行頭のタブはあたかも無かったかのように(無視されて)扱われます。これを用いて、シナリオファイルをインデント付け (シナリオが見やすいように字下げをする) を行う事ができます。無視されるのはタブだけで、空白は無視されませんので注意が必要です。</dd></dl></div></div>
<script type="text/javascript" charset="UTF-8" src="documentid.js" ></script>
<script type="text/javascript" charset="UTF-8" src="postcontent.js" ></script>
</body>
</html>