« T644~ポイントロック | トップページ | T644~フレキシブルレールの使い方 »

2006/10/25

T644~ガチャガチャ

T644_Arch1.jpg

▲TALENTにはやはりアーチが似合う? (レイアウトはVSE付録のサンプル)

昨日の続きです:第1案のキー操作で直接ポイントをガチャガチャ切り替える、というのが実に鉄道模型的で魅力なので、やっぱりこの考えでいきます。この場合、センサは不要となります。となると、列車がポイントを跨いでいる時、切り替え操作を行っても実際には切り替わらないとか、ポイントの開いていない側から進入した場合が問題ですが‥‥‥だがしかし!

実際の鉄道模型では、初期状態ではポイントがどちらに開いているか不定です。また、電動ポイントでも手動で切り替えることは出来ます。つまり、本物の鉄道模型ではスイッチボックスと実際のポイントの状態が食い違うことはよくあるのです。このため、列車を走らせる前にスイッチボックスを2、3回操作して状態を一致されるようにします。これに倣えば、VRMでもポイントが今どちらに切り替わっているか分からなくなったら、キー操作でガチャガチャと切り替えればいいことになります。この「ガチャガチャ」が鉄道模型的で捨てがたい訳です。不便ではありますが、その不便さがリアリティを生み出すのです。

鉄道模型ではスイッチのレバーの位置やポイントそのものを見れば、どちらに切り替わっているか分かりますが、VRMではポイント自身の見た目は変りません。そこで、なんらかの「表示」が必要になります。ログウィンドウにメッセージを表示してもいいのですが、景観上、ウィンドウは消しておきたいものです。もっと鉄道的な表示方法‥‥‥そう、信号機がありました。下の図で言えば、ポイントが右側に開いていると分かります。背向側については、ポイントが自分の方向に開いていない時、赤を現示しておけばよく、まさか赤信号で突っ込んでくる人もいないでしょうから、充分理にかなった方法だと言えます。

sig0.jpg

信号機は情景が出来てから設置しようと思っていたのですが、しょうがないから先に作ってしまいます。1つ問題は、信号機の色を表示するには何に従えばいいでしょうか? こういう場合は、「現場」に近いところで処理した方が確実です。即ち、ポイントのスクリプトに以下のように変更します。

----------------------------------------------
SetPointBranch 0
call this P_check

BeginFunc P_I
  Var p
  GetPointBranch p
  if p
    set p 0
    SetPointBranch p
    call "BELL01" BELL_POINT_S02_I
    call this P_check
  endif
EndFunc

BeginFunc P_X
  Var p
  GetPointBranch p
  ifzero p
    set p 1
    SetPointBranch p
    call "BELL01" BELL_POINT_S01_X
    call this P_check
  endif
EndFunc

BeginFunc P_check
  Var p
  GetPointBranch p
  if p
	call "SIGNAL_S02_NI" Sig_red
	call "SIGNAL_S02_NX" Sig_green
	call "SIGNAL_S02_RI" Sig_red
	call "SIGNAL_S02_RX" Sig_green
  else
	call "SIGNAL_S02_NI" Sig_green
	call "SIGNAL_S02_NX" Sig_red
	call "SIGNAL_S02_RI" Sig_green
	call "SIGNAL_S02_RX" Sig_red
  endif
EndFunc
----------------------------------------------

切り替え操作を行ったのにポイントが実際に切り替わらない場合がある以上、面倒ですが、実際の状態をチェックするルーチン(P_check)を追加するしかないです。

ダウンロード T644B1.lzh (322.9K)

こうやって作ったレイアウトをダウンロードできるように用意しました。実際、どういう動作をするのか興味ある方は遊んで見てください。「s」キーで駅側、「Shift+s」で本線側への切り替えになります。

なんか「作業」のようなことが続いて面白くないので1つだけ遊んでみました。ポイントを切り替える時、本物の鉄道模型のように「」がします。まさしく「ガチャガチャ」を再現したわけで、なかなか楽しいです。音源部品については「可聴距離」というのがあるみたいですけど、うちの環境ではレイアウトのどこに居ても音が聞こえます。このため、音源はレイアウトの中央に1個だけ設置しています。

|

« T644~ポイントロック | トップページ | T644~フレキシブルレールの使い方 »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/103983/12420369

この記事へのトラックバック一覧です: T644~ガチャガチャ:

« T644~ポイントロック | トップページ | T644~フレキシブルレールの使い方 »