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

129 lines
7.7 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 Diverge.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="id59" name="id59">ラベルを定義する</a>
</h1><div class="para"><div>
 さて、選択肢を使う前に<a id="id60" name="id60" class="targanchor"><dfn>ラベル</dfn></a>の説明をしなければなりません。<br />
 選択肢を選択したら、選択先にシナリオの制御が移らなければなりません。そのときの制御の移動の目印となるのがラベルです。<br />
<br />
 ラベルは、行の先頭に * のついた行です。いままでのサンプルでも出てきていましたね。たとえば・・・<br />
<br />
<code class="bq">[wait&nbsp;time=200]<br />
<em>*start|スタート</em><br />
[cm]<br />
こんにちは。<br />
</code>
<br />
 となっていました。この場合、ここで *start という名前のラベルを定義したわけです。じゃあ | (縦棒) 以降の &quot;|スタート&quot; ってなに、って事になりますが、それについては別の場所 <span class="comlink"> ( → <a target="main" class="jump" href="SaveLoad.html">セーブ・ロードに対応させよう</a> ) </span> で説明します。| 以降は書かなくてもかまいません。<br />
<br />
 ラベルの名前には任意の物を指定できますが、半角英数のみにしておいた方が無難でしょう。また、ラベル名に半角スペースは使わないでください。<br />
<br />
 ラベルの機能には、このように制御の移動の際の道しるべになる以外に、セーブ・ロードの位置にもなるという重要な機能があります。これも | (縦棒) の意味と一緒に別の場所でお話しいたします。<br />
</div></div>
<h1><a id="id61" name="id61">選択肢を使ってみる</a>
</h1><div class="para"><div>
 KAG では選択肢というよりもむしろハイパーリンクに近い考え方で選択肢を実現します。<br />
 選択肢を使うには <a id="id62" name="id62" class="targanchor"><dfn>link</dfn></a><a id="id63" name="id63" class="targanchor"><dfn>endlink</dfn></a> というタグを使います。この2つのタグで選択肢となる文章を挟むと、そこがマウスやキーボードで選択可能になります。マウスでクリックされたり、キーボードで Enter キーが押されると、該当する link タグに書かれた target 属性のラベルにジャンプします。<br />
 また、選択肢待ちや、シナリオの終了など、動作を停止したい場合は <code class="inlinecode">[<a id="id64" name="id64" class="targanchor"><dfn>s</dfn></a>]</code> タグを書きます。メニューから「次の選択肢まで進む」を選ぶと、この <code class="inlinecode">[s]</code> タグが来るまでノンストップでシナリオを実行します。<br />
 これらを使って、以下のように記述することができます。target= の後の * (アステリスク) は必要ですので忘れないようにしてください。また、| (縦棒) 以降は、target の後に指定するときには必要ありません。<br />
<br />
<br />
<code class="bq">[wait&nbsp;time=200]<br />
*start|スタート<br />
[cm]<br />
<em>[link&nbsp;target=*select1]選択肢1[endlink][r]<br />
[link&nbsp;target=*select2]選択肢2[endlink][r]<br />
[link&nbsp;target=*select3]選択肢3[endlink][r]<br />
[s]</em><br />
<br />
*select1<br />
選択肢1が選択されました。[l]<br />
[s]<br />
<br />
*select2<br />
選択肢2が選択されました。[l]<br />
[s]<br />
<br />
*select3<br />
選択肢3が選択されました。[l]<br />
[s]<br />
</code>
<br />
 これをこのまま実行させると、選択肢を選択しても選択肢が消えません。<br />
 消すには、通常ラベルの次に [cm] を書きます。<br />
<br />
<code class="bq">[wait&nbsp;time=200]<br />
*start|スタート<br />
[cm]<br />
<em>[link&nbsp;target=*select1]選択肢1[endlink][r]<br />
[link&nbsp;target=*select2]選択肢2[endlink][r]<br />
[link&nbsp;target=*select3]選択肢3[endlink][r]<br />
[s]</em><br />
<br />
*select1<br />
[cm]<br />
選択肢1が選択されました。[l]<br />
[s]<br />
<br />
*select2<br />
[cm]<br />
選択肢2が選択されました。[l]<br />
[s]<br />
<br />
*select3<br />
[cm]<br />
選択肢3が選択されました。[l]<br />
[s]<br />
</code>
<br />
<br />
<br /><div class="descimg"><img width="650" height="528" alt="Diverge.png" src="Diverge.png" /><br />選択肢の例</div><br /><br /><div class="note"><div class="notehead"><span class="noteheadspan">Note</span></div>
&nbsp;&nbsp;&nbsp;&nbsp; 選択肢は一回選択されると、新しい選択肢が表示されるか、<a id="id65" name="id65" class="targanchor"><dfn>unlocklink</dfn></a> タグが実行されるまでは選択することはできません。<br />
&nbsp;&nbsp;&nbsp;&nbsp; また、すでに画面に表示されている選択肢を選択不能にするために <a id="id66" name="id66" class="targanchor"><dfn>locklink</dfn></a> タグがあります。<br />
&nbsp;&nbsp;&nbsp;&nbsp; 通常の記述ではこのことは気にする必要はありません。<br />
</div><br />
</div></div>
<h1><a id="id67" name="id67">2つ以上のシナリオファイル</a>
</h1><div class="para"><div>
 管理上、シナリオファイルを2つ以上に分けたい場合があるとおもいます。<br />
 答えは簡単で、link タグに storage 属性をつけるだけです。たとえば、scn2.ks というシナリオを用意して、そこの *scn2start というラベルにジャンプするには・・・。<br />
<br />
<code class="bq">[link&nbsp;storage=&quot;scn2.ks&quot;&nbsp;target=*scn2start]scn2.ks&nbsp;&nbsp;scn2start[endlink]<br />
</code>
<br />
<br />
と記述します。この選択肢がクリックされると、scn2.ks が読み込まれ、*scn2start というラベルにジャンプします。<br />
</div></div>
<h1><a id="id68" name="id68">そのほかのシナリオ分岐に関するもの</a>
</h1><div class="para"><div>
 ただ単に指定したラベルにジャンプしたいときのために jump タグがあります。<br />
 また、link タグにはクリックされたときに TJS ( 吉里吉里が直接理解できるスクリプト ) の式を実行する機能などもあります。
 また、<a id="id69" name="id69" class="targanchor"><dfn>button</dfn></a> タグは、テキストを選択肢にするのではなく、ボタンとして用意された画像を選択肢にする物です。グラフィカルな選択肢の実現に用います。<br />
 <a target="main" class="jump" href="Tags.html">タグリファレンス</a> を参照してみてください。<br />
</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>