トップページ ≫ スクリプト ≫ リファレンス ≫ STEP.8 グローバル変数を参照してみる

スクリプト [ リファレンス STEP.8 グローバル変数を参照してみる ]

はじめに

ある部品に用意したグローバル変数を参照して、別の部品上で条件分岐をしてみましょう。
難しそうですが、この方法を使うと、色々なスクリプトによる制御が楽しめるようになります。

このステップで実践する内容は、以下のとおりです。
■ [A]キーが押されたら、信号機の現示を調べて、編成を加速または停止させる

なお、ステップを実践するには、以下の部品が必要です。
■ レール
■ 信号機
■ 編成
 

信号機のスクリプトエディターを開く

まず、信号機と編成を左図のように配置してください。
次に、信号機を右ドラッグして、
ポップアップメニューの[信号機設定...]を選択してください。
左図のようなウィンドウが開くので、
[スクリプトエディター]を左クリックしてください。

これで、信号機のスクリプトエディターが開きます。
 

スクリプトを記述する

それでは、実際にスクリプトを書いてみましょう。
今回は、キーが押されたら信号機の現示を調べて、
編成の加速と停止を切り替えるスクリプトを書いてみます。

左図のように、スクリプトを入力してください。

1行目…SetSignal 1
ここで、信号機の現示を指定しています。
"1"とは、"赤"を表しています。

3行目…Var STATUS
ここで、変数に"STATUS"という名前を付けて用意しています。

4行目…GetSignal STATUS
ここで、変数"STATUS"に信号機の現示を取得しています。

スクリプトを入力したら、メニューの[ファイル(F)]にある
[確定して終了(X)]を左クリックしてください。

これで、記述したスクリプトが確定されます。
なお、今書いたグローバル変数は、
編成のスクリプトから参照するので、
この信号機の名称を確認しておきましょう。

名称を確認したら、
ウィンドウにある[OK]を左クリックしてください。
 

編成のスクリプトエディターを開く

続いて、編成を右ドラッグして、
ポップアップメニューの[編成エディター...]を選択してください。
左図のようなウィンドウが開くので、
[スクリプトエディター]を左クリックしてください。

これで、編成のスクリプトエディターが開きます。
 

スクリプトを記述する

それでは、実際にスクリプトを書いてみましょう。
今回は、キーが押されたら信号機の現示を調べて、
編成の加速と停止を切り替えるスクリプトを書いてみます。

左図のように、スクリプトを入力してください。

1行目…Var HIT
ここで、変数に"HIT"という名前を付けて用意しています。
イベントを使う場合には、必ず変数を用意する必要があります。

2行目…SetEventKey this CTRL-SPEED HIT a
ここで、"キーが押されたら"というイベントを用意しています。
1行目で用意した変数"HIT"を使っています。

4行目…BeginFunc CTRL-SPEED
ここで、"CTRL-SPEED"という名前のメソッドを用意しています。

5行目…ifeq "SIGNAL.STATUS" 6
ここで、他の部品に書いてある
グローバル変数を参照して、条件分岐を行なっています。

今回の"ifeq"という命令では、
グローバル変数"STATUS"の中身が"6"かどうかを調べています。

6行目…SetTimerVoltage 0.5 10000
ここには、変数の中身が"6"の時に実行する命令を書きます。
今回は、列車を加速させるスクリプトを書いています。

7行目…endif
ここで、条件分岐の終了を指定しています。
なお、今回は条件分岐の区切り"else"を使っていないので、
グローバル変数の中身が"6"以外の時には、
何も命令を実行しない事になります。

8行目…EndFunc
ここで、メソッドの終わりを指定しています。

スクリプトを入力したら、メニューの[ファイル(F)]にある
[確定して終了(X)]を左クリックしてください。

これで、記述したスクリプトが確定されます。
ウィンドウにある[OK]を左クリックしてください。
 

ビュワーで確認する (信号機"赤"の場合)

では、実際にビュワーを起動して、
入力したスクリプトが実行されるか確認してください。

今回の場合だと、ビュワー起動後は、
信号機の現示が赤になっています。

そこで、キーボードの[A]を押すと、
列車は信号機の現示をチェックして
加速するか停止したままでいるかを判断します。

今回、信号機は赤なので、
列車は停止したままでいます。
 

信号機を青に変更する

今度は、信号機の現示を青にして試してみます。
信号機を右ドラッグして、
ポップアップメニューの[信号機設定...]を選択してください。
左図のようなウィンドウが開くので、
[スクリプトエディター]を左クリックしてください。

これで、信号機のスクリプトエディターが開きます。
それでは、実際にスクリプトを書いてみましょう。
今回は、信号機の現示を青にします。

左図のように、スクリプトを入力し直してください。

1行目…SetSignal 6
ここで、信号機の現示を指定しています。
"6"とは、"青"を表しています。

スクリプトを入力したら、メニューの[ファイル(F)]にある
[確定して終了(X)]を左クリックしてください。

これで、記述したスクリプトが確定されます。
ウィンドウにある[OK]を左クリックしてください。
 

ビュワーで確認する (信号機"青"の場合)

では、実際にビュワーを起動して、
入力したスクリプトが実行されるか確認してください。

今回の場合だと、ビュワー起動後は、
信号機の現示が青になっています。

そこで、キーボードの[A]を押すと、
列車は信号機の現示をチェックして
加速するか停止したままでいるかを判断します。

今回、信号機は青なので、
列車は加速し始めていきます。