VRMという名の(ソフトの)スクリプト講座 第4回 ~センサーで信号の現示を変える~

お久しぶりです。Windows7でVRM4を動かしてやったので戻ってきました。

前回のあらすじ、

信号が点いたね!

おしまい


ただ信号が点くだけではつまらない・・・そうです。本物の信号機は列車の通過に合わせて信号が変わるもの。いつまでも同じ表示ではそのうち事故が発生します。

そこで、今回は説明しやすい2灯式信号を使って、信号を自動的に切り替えてくれるようにします。

そのためには次の部品が必要です。
・センサー

センサーは踏切や信号のある号には必ず付属しているはずです。リストの下の方にあります。

まず、信号を並べます。このとき、SIGNAL-Aが先に通過するようにしてください。

そして、センサーの名前を、次のようにし、それぞれの信号の直下辺りに置いてください。
SIGNAL-Aの直下→SENSOR-A
SIGNAL-Bの直下→SENSOR-B

そして、信号二つには同じ構文を書きます。

SetSignal 6

BeginFunc 青信号
SetSignal 6
EndFunc

BeginFunc 赤信号
SetSignal 1
EndFunc

以上です。次に、SENSOR-Aの構文です。

Var HIT
SetEventSensor センサー1切替 HIT

BeginFunc センサー1切替
call "SIGNAL-A" 赤信号
call "SIGNAL-B" 青信号
EndFunc

次にSENSOR-Bの構文。

Var HIT
SetEventSensor センサー2切替 HIT

BeginFunc センサー2切替
call "SIGNAL-A" 青信号
call "SIGNAL-B" 赤信号
EndFunc

赤字はグローバル変数、青字はローカル変数を表します。
微妙に違うので気をつけましょう。

ビュワーを起動して走らせて見てください。信号を通過していくたびに信号が切り替わります。

※以前説明した方法で-10mmに設定した線路の上にセンサーを配置するとまともに動作しない可能性があるので、少し離したほうが無難です。

今回の新出は、
SetEventSensorとcallです。

SetEventSensorは、SetEventKeyと同じく、イベントになります。この場合は、「特定のキーを押したら」ではなく、「特定のセンサーを踏んだら」という内容になります。

その後についているものは、最初が実行するメソッド、次がイベントIDを代入するグローバル変数の名前です。

次にcallですが、これは他の部品のメソッドを呼び出すためのものです。
call "[パーツ名]" [メソッド名]となります。

今回はこんな単純で画像もないですが以上です。

Next→
←Prev
TOP

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック