こがしぱんです。
前回は「選択肢で分岐しよう」をやってみました。
今回は「シナリオファイルを分けて分岐する」です!
選択肢がクリックされた場合、別のスクリプトファイルに移動して戻ってくる、というスクリプトを組んでみます。
まず、新しく「scene1.ks」と「scene2.ks」という2つのシナリオファイルを作成します。
エディタの「ファイル」を選択し、「新しいテキストファイル」をクリック。
「Untitled-1」というファイルが表示されます。
「ファイル」を選択し、「名前を付けて保存」をクリック。
保存場所はティラノスクリプトの「scenario」フォルダ内で、
ファイル名を「scene1」、ファイルの種類を「tyranoscript(*.ks)」にして、保存。
・
・
・
保存しようとしたら、既にscene1がある!?
確認してみるとサンプルゲームとして、既にscene1の名前が使用してある状態でした。
中身を開いてみると↓の感じ。
とりあえず、今回は「scene2」と「scene3」という名前で保存します。
次に、scene2のファイルに以下スクリプト(公式より引用)を入力。
エディタにコピペ。
scene3のファイルに以下スクリプト(公式より引用)を入力。
エディタにコピペ。
firstのファイルに以下スクリプト(公式より引用)を入力。
前回の選択肢スクリプト部分を消して、エディタにコピペ。
「scene1」を「scene2」、「scene2」を「scene3」に編集して、保存、実行。
・
・
・
「選択肢1」をクリックした時、
「別ファイルから戻ってきました」が表示されます。
「選択肢2」をクリックした時も、
「別ファイルから戻ってきました」が表示されました!
それでは、今回のスクリプトの確認。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
[link storage=scene2.ks target=*select1]【1】選択肢 その1[endlink][r]
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
「選択肢1」をクリックすると、[link]タグで指定しているシナリオファイル「scene2」へ処理が移ります。
[link]タグのstorage属性を指定すると、指定したファイル名にジャンプします。
その後、「scene2」の「*select1」ラベルの処理によって、
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
*select1
[cm]
「選択肢1」がクリックされました[l]
@jump storage=first.ks target=*common
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
「first」ファイルの「*common」ラベルへ処理が移ります。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
*common
[cm]
別ファイルから戻って来ました
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
もし、ラベル名を指定していない時は、
(↓だと、taeget=*select1が指定されていない場合)
storageで指定したシナリオファイルを上から順に実行します。
今度は、storageを指定していない場合、
今、開いているファイル(今回の場合だと「first.ks」)と同一ファイルとみなされるので、first.ksファイルの内容が実行されます。
ただ、今回、first.ksファイル内に*select1のラベルがないので、「選択肢1」を実行したら何かしらエラーが出るはず!
・
・
・
「ラベル「select1*」は存在しません」のエラー文が表示されました!
これで、first.ksのファイル内で実行されていることが確認できました。
ということで、今回はここまで!
今回は、「シナリオファイルを分けて分岐する」をやってみました。
ストーリーが長いものだと、1つのシナリオファイルで管理しづらくなるので、
分岐シーンやストーリーの区切りなどで適度にシナリオファイルを分けた方が、
管理しやすくなりますね!
次回もティラノスクリプトやっていきます!