こがしぱんるーむ

初心者のゲームプログラミング勉強記録

ティラノスクリプト~選択肢で分岐しよう~

こがしぱんです。

 

前回は、「キャラクターの表情変更」と「キャラクターの退場」をやってみました。

 

今回は、「選択肢で分岐しよう」です!

 

まず、以下スクリプト(公式から引用)をエディタにコピペ。

 

前回のキャラクターのスクリプトを消して、貼り付けました。

保存、実行!

選択肢が表示されました!

 

しかも、ちゃんとクリックもできる!!

 

それでは、今回のスクリプトを確認。

 

まずは、「*(アスタリスク)」について。

 

以下、公式より引用。

*(アスタリスク)で始まる箇所はラベルと呼ばれます。

ラベルはゲームの中で印(しるし)のような役割を持ちます。
例えば、他の場所から移動してくる場合や選択された結果の飛び先をこのラベル名を指定することで実現します。

 

今回の場合だと、*select1 *select2 *commonがラベルになりますね!

 

「選択肢1」をクリックすると、「*select1」ラベルへ、

「選択肢2」をクリックすると、「*select2」ラベルへ、

「選択肢1」「選択肢2」のどちらかをクリックした後は「*common」ラベルへ進みます。

 

注)一つのシナリオファイル中に同一のラベル名を使用することはできません。

 

続いては、「[link]タグと「[endlink]タグについて。

 

以下、公式より引用。

[link]タグと[endlink]タグで囲まれた箇所が選択肢になります。
target属性移動先のラベル名を指定します。( * は省略できません)

 

今回の場合、

ーーーーーーーーーーーーーーーーーーーーーーーーーーーー

[link target=*select1]【1】選択肢 その1[endlink][r]
[link target=*select2]【2】選択肢 その2[endlink][r]

ーーーーーーーーーーーーーーーーーーーーーーーーーーーー

 

【1】選択肢 その1」と「【2】選択肢 その2」が「link」と「endlink」で囲まれているので、選択肢として表示されました。

 

そして、最後についている「s」タグ。

 

以下、公式より引用

このタグ([s])は、ゲーム進行を完全にストップさせる効果があります。クリックされても先に進みません。
つまり何か選択肢をクリックしない限りはゲームが進まない状況になりますので、選択肢を表示する場面では必須でしょう

 

[link]タグと[endlink]タグとセットで[s]タグを覚えていた方がいいですね。

 

続いては、[jump]タグ。

 

以下、公式より引用。

「【1】選択肢1」がクリックされると、ラベル「*select1」のところに移動してきます。
そして、分岐が終わる時点で[jump]タグを使って共通ルートに戻しています。

 

今回の場合、

ーーーーーーーーーーーーーーーーーーーーーーーーーーーー

*select1
[cm]
「選択肢1」がクリックされました[l]
@jump target=*common

ーーーーーーーーーーーーーーーーーーーーーーーーーーーー

 

つまり、選択肢1をクリックしたら、「common」というラベルにジャンプするということになります。

 

「@jump target=*common」が記載されていないと、「選択肢1がクリックされました。」の後に、

 

「選択肢2がクリックされました。」が続けて表示されてしまいます。

 

なので、「@jump target=*common」を配置することで、

 

*select2」をジャンプして、「*common」へ飛ぶということですね!

 

それでは、今回のタグ一覧。

 

[link]ハイパーリンク(選択肢)の開始。[link]タグと[endlink]タグで囲まれた部分のテキストをリンク化。選択肢の表示として使用可能。リンク化されたテキストはマウスやキーボードで選択可能。クリックやキー入力で選択されたときに、特定のシナリオファイルまたはラベルにジャンプ。

 

[endlink]→[link]タグと組み合わせて使用。リンク化を終了する。

 

[s]→[link]タグと[endlink]タグで囲まれた選択肢を表示した後は、必ず[s]タグを配置して進行を停止させる。

 

[jump]→シナリオのジャンプ。指定シナリオファイルの指定ラベルに移動。

 

ということで、今回はここまで!

 

今回は、「選択肢で分岐しよう」をやってみました。

 

スクリプトを打ってみて動きを確認すると、どんな流れで動いているのか、すごく理解しやすかったです!

 

次回もティラノスクリプトやっていきます!