さて、前に予告した「Project002」ですが、「VRM4-comVignette」ではなく「fox-material-pavilion」で実施される形になると思います(詳しいいきさつはコチラを御覧下さい)。
エンドレスループにならない可能性もあるということなので、8/18の更新はそちらのサポートにまわるべく、クロスポイント複線折り返し自動運転用スクリプトを使用したサンプルレイアウトの公開に切り替えます。foxさんの実力を考えれば、無用なスクリプトだとは思うのですが、前に作ったものがあるので公開しておきます。レイアウトに合わせるために少し手を加え、説明も入れました。
それでは先行してスクリプトだけ掲載しておきます。あまり良いスクリプトではないかもしれませんが、とりあえずはこれで動くので。
------------------------------------レイアウト(LAYOUT)
//停車距離
Var stopdistance
set stopdistance, 1600
//加速時間
Var acceltime
set acceltime, 30000
//最高速度
Var topspeed
set topspeed, 80
------------------------------------第1駅配置編成(TRAIN001、TRAIN002共通)
//プロパティ
Var evid
VarBell BELL
//初期化・・・AutoSpeed終了イベントハンドラ
get BELL, "BELL1"
SetEventAutoSpeed wait evid
SetTopSpeed LAYOUT.topspeed
//メソッド・・・今回は途中駅がないのでstartメソッドは使っていない
BeginFunc start
SetTimerVoltage 1.0, LAYOUT.acceltime
EndFunc
BeginFunc turnstart
Turn
SetTimerVoltage 1.0, LAYOUT.acceltime
EndFunc
BeginFunc stop
AutoSpeedCtrl LAYOUT.stopdistance, 0
EndFunc
BeginFunc wait
call BELL, soundplay
EndFunc
------------------------------------第2駅配置編成(TRAIN003、TRAIN004共通)
//プロパティ
Var evid
VarBell BELL
//初期化・・・AutoSpeed終了イベントハンドラ
get BELL, "BELL2"
SetEventAutoSpeed wait evid
SetTopSpeed LAYOUT.topspeed
//メソッド・・・今回は途中駅がないのでstartメソッドは使っていない
BeginFunc start
SetTimerVoltage 1.0, LAYOUT.acceltime
EndFunc
BeginFunc turnstart
Turn
SetTimerVoltage 1.0, LAYOUT.acceltime
EndFunc
BeginFunc stop
AutoSpeedCtrl LAYOUT.stopdistance, 0
EndFunc
BeginFunc wait
call BELL, soundplay
EndFunc
------------------------------------車両(各先頭車両共通)
//初期設定
SetHeadlight 1
SetTaillight 1
------------------------------------ポイント(POINT001~008共通)
//プロパティ
Var tmpPoint
//初期化・・・最初は0
SetPointBranch 0
GetPointBranch tmpPoint
//メソッド
BeginFunc branch0
SetPointBranch 0
GetPointBranch tmpPoint
EndFunc
BeginFunc branch1
SetPointBranch 1
GetPointBranch tmpPoint
EndFunc
------------------------------------第1駅配置音源(BELL1)
//プロパティ
Var evid
VarTrain inTRAIN
VarTrain outTRAIN
//初期化・・・出発編成がoutTRAIN。soundplayメソッドからスタート
get inTRAIN, "TRAIN001"
get outTRAIN, "TRAIN002"
call this soundplay
//メソッド・・・ベルを鳴らしてから編成を反転出発。次の出発編成名を教えている
BeginFunc soundplay
StopSound
SetWaveResourceID 1
SetSoundLoop 1
PlaySound
SetEventAfter this, soundstop, evid, 5000
EndFunc
BeginFunc soundstop
StopSound
call outTRAIN turnstart
get outTRAIN, inTRAIN
EndFunc
------------------------------------第2駅配置音源(BELL2)
//プロパティ
Var evid
VarTrain inTRAIN
VarTrain outTRAIN
//初期化・・・出発編成がoutTRAIN。soundplayメソッドからスタート
get inTRAIN, "TRAIN003"
get outTRAIN, "TRAIN004"
call this soundplay
//メソッド・・・ベルを鳴らしてから編成を反転出発。次の出発編成名を教えている
BeginFunc soundplay
StopSound
SetWaveResourceID 1
SetSoundLoop 1
PlaySound
SetEventAfter this, soundstop, evid, 5000
EndFunc
BeginFunc soundstop
StopSound
call outTRAIN turnstart
get outTRAIN, inTRAIN
EndFunc
------------------------------------第1駅入場前センサー(SENSORin001)
//プロパティ
Var evid0
Var evid1
//初期化・・・センサーイベントハンドラ
SetEventSensor snsev, evid0
//メソッド・・・ベルに入場編成名、編成に管理ベル名を教えて停車動作へ
BeginFunc snsev
VarTrain trainA
GetSenseTrain trainA
get BELL1.inTRAIN, trainA
get trainA.BELL, "BELL1"
SetEventAfter trainA, stop, evid1, 3000
EndFunc
------------------------------------第2駅入場前センサー(SENSORin002)
//プロパティ
Var evid0
Var evid1
//初期化・・・センサーイベントハンドラ
SetEventSensor snsev, evid0
//メソッド・・・ベルに入場編成名、編成に管理ベル名を教えて停車動作へ
BeginFunc snsev
VarTrain trainA
GetSenseTrain trainA
get BELL2.inTRAIN, trainA
get trainA.BELL, "BELL2"
SetEventAfter trainA, stop, evid1, 3000
EndFunc
------------------------------------第1駅出場後センサー(SENSORout001)
//プロパティ
Var evid
//初期化・・・最後尾認識に変更。センサーイベントハンドラ
SetSensorMode 1
SetEventSensor snsev, evid
//メソッド・・・0なら1に、0以外なら0にポイントを切替
BeginFunc snsev
ifzero POINT001.tmpPoint
call "POINT001", branch1
call "POINT002", branch1
call "POINT003", branch1
call "POINT004", branch1
else
call "POINT001", branch0
call "POINT002", branch0
call "POINT003", branch0
call "POINT004", branch0
endif
EndFunc
------------------------------------第2駅出場後センサー(SENSORout002)
//プロパティ
Var evid
//初期化・・・最後尾認識に変更。センサーイベントハンドラ
SetSensorMode 1
SetEventSensor snsev, evid
//メソッド・・・0なら1に、0以外なら0にポイントを切替
BeginFunc snsev
ifzero POINT005.tmpPoint
call "POINT005", branch1
call "POINT006", branch1
call "POINT007", branch1
call "POINT008", branch1
else
call "POINT005", branch0
call "POINT006", branch0
call "POINT007", branch0
call "POINT008", branch0
endif
EndFunc
タブが表示出来てないから見づらい。
最新の画像もっと見る
最近の「VRM4CV」カテゴリーもっと見る
最近の記事
カテゴリー
- 重要記事(18)
- HDR写真(91)
- VRM-NX(291)
- NX-TOMIX(122)
- VRM入門(82)
- VRM動画(82)
- VRM自動センサー(10)
- 天球テクスチャー(62)
- 編成(115)
- Pythonスクリプト(97)
- VRMoNLINE(25)
- VRMノンジャンル(187)
- VRMの日(22)
- 鉄道模型レイアウター(28)
- Trainz(183)
- A9(10)
- 鉄道模型(111)
- VRM4CV(69)
- cVss(20)
- VRM-Nietzsche(28)
- めっけ(8)
- 無理矢理ストラクチャ(29)
- VRM4GIS計画(仮)(12)
- VRM用技術(25)
- VRMスクリプト(21)
- 参考写真・参考書籍(28)
- 2D/3DCG(112)
- サウンド(5)
- 単なる雑談(79)
- ノンジャンル(9)
- 双極性障害(2)
- 生活(2)
- グルメ(0)
バックナンバー
2017年
人気記事