Rosso Laboratory

Rosso Laboratory

主に鉄道模型シミュレーター(VRM)などの仮想鉄道アプリを扱うブログです。またHDR写真の記事も書いています。

自動センサー

初っ端からつまづいた感のある自動センサー

どうやら新規レイアウトなら問題ないようだが、既存レイアウトに配置すると操作対象になるはずの既存配置部品をうまく認識しないようだ。

まぁ、これは早々に修正してくるだろうと思うので、とりあえず放置しておく。幾ら騒いだところで私が直せる訳ではないし。

(2009/04/03 14:10追記)
Ver5.0.3.32にて対応済み


---*---*---*---



それよりも共通ステータスの演算がC言語表記になっているので、一応VRMスクリプトでの表記を掲載しておく。

status = param ・・・・・・・・・・・・・・・・ set status param
status = 0 ・・・・・・・・・・・・・・・・・・・・ set status 0
status++ ・・・・・・・・・・・・・・・・・・・・・・ add status 1(C言語でインクリメントと呼ぶ)
status-- ・・・・・・・・・・・・・・・・・・・・・・ sub status 1(C言語でデクリメントと呼ぶ)
status = status + param ・・・・・・・ add status param
status = status - param ・・・・・・・ sub status param
status = status * param ・・・・・・・ mul status param
status = status / param ・・・・・・・ div status param
status = status & param ・・・・・・・ and status param
status = status | param ・・・・・・・ or status param
status = status ^ param ・・・・・・・ xor status param
status = status mod param ・・・・・ mod status param


幾ら上級者向けとは言え、C言語表記のまま何も説明が無いのはヒドすぎだろうよ。四則計算は良いとしても、論理演算子やインクリメントはC言語を知らなければ何が書いてあるかも解らないはずである。

尚、実際にテストして動作チェックを行った訳ではないので、間違いがあれば指摘して欲しい。

---*---*---*---

オマケとして、自動センサー用のスクリプトテンプレートも掲載しておく。

//----------------------------------------------------------------------
//自動センサー スクリプトテンプレート
//----------------------------------------------------------------------
//変数宣言
//一般変数宣言(ローカル化OK)
Var VarDirection
//オブジェクト変数宣言(ローカル化OK)
VarTrain ObjTrain
//イベントID変数宣言
Var ATSEventID

//----------------------------------------------------------------------
//ユーザー設定項目
//自動センサー反応位置設定(0:先頭台車、1:最後尾台車)
//SetATSMode 0
//種別コードフィルター設定(種別コード:0~7)
//SetATSTrainFilterType 0
//特定編成フィルター設定
//VarTrain ObjFilterTrain
//get ObjFilterTrain "編成名"
//SetATSTrainFilter ObjFilterTrain
//----------------------------------------------------------------------

//スタート
//センサーが編成を発見したらメソッドへ
SetEventATS MethodATSEvent ATSEventID

//メソッド
//方向別動作メソッド
BeginFunc MethodATSEvent
GetATSTrain ObjTrain VarDirection
if VarDirection
//正方向動作
call ObjTrain Method正方向動作
else
//逆方向動作
call ObjTrain Method逆方向動作
endif
EndFunc


まぁ、これを使わないための自動センサーなんだろうが・・・。

---*---*---*---

まだ弄るつもりは無かったが、トラブルが多そうなので書いてみた。