トップページ ≫ スクリプト ≫ リファレンス ≫ STEP.7 部品から部品へ命令を送ってみる

スクリプト [ リファレンス STEP.7 部品から部品へ命令を送ってみる ]

はじめに

一方の部品にイベントを用意して、別の部品にあるメソッドを実行してみましょう。
難しそうですが、イベントとメソッドを別々の部品に用意するだけなので、実践してみると意外に簡単だと思います。

このステップで実践する内容は、以下のとおりです。
■ センサーに列車が感知されたら、ポイントを分岐側へ切り替える

なお、ステップを実践するには、以下の部品が必要です。
■ レール
■ ポイント
■ センサー
■ 編成
 

ポイントのスクリプトエディターを開く

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

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

スクリプトを記述する

それでは、実際にスクリプトを書いてみましょう。
今回は、センサーに列車が感知されたら、
ポイントを分岐側へ切り替えるスクリプトを書いてみます。

このポイントのスクリプトエディターには、
"ポイントを分岐側へ切り替える"という部分だけを記述します。

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

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

2行目…SetPointBranch 1
ここで、ポイントの状態を指定しています。
"1"とは、"分岐側へ切替"を表しています。

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

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

これで、記述したスクリプトが確定されます。
なお、今書いたメソッドは、
センサーのスクリプトから呼び出して実行するので、
このポイントの名称を確認しておきましょう。

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

センサーのスクリプトエディターを開く

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

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

スクリプトを記述する

それでは、実際にスクリプトを書いてみましょう。
今回は、センサーに列車が感知されたら、
ポイントを分岐側へ切り替えるスクリプトを書いてみます。

このセンサーのスクリプトエディターには、
"センサーに列車が感知されたら"の部分だけを記述します。

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

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

2行目…SetEventSensor SENSE HIT
ここで、
"センサーに列車が感知されたら"というイベントを用意しています。
1行目で用意した変数"HIT"を使っています。

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

5行目…call "POINT" CTRL-WAY
ここで、他の部品に書いてあるメソッドを呼び出しています。
"POINT"とは、先ほど確認しておいたポイントの名称で、
"CTRL-WAY"は、ポイントに書いておいたメソッドの名前です。

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

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

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

ビュワーで確認する

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

今回の場合だと、ビュワー起動後は、
ポイントの状態は直進側に切り替わったままです。

そこで、列車を走行させてセンサーに感知させると、
ポイントは分岐側へ切り替わります。