京成AE100型もどきのトラコン遊び
先日自分で撒いたタネをネタとして自分で回収するアレ。
Train Simulator 京急・都営浅草・京急線に出てたので知ったのですが、先代の京成スカイライナー、AE100型にはちょっと変わった定速運転制御が搭載されているそうです。
下手な写真ですが2010年11月撮影。この時既に後継の2代目AE型も走っていました。
こいつの定速制御は、25km/hのときにP5に入っていると定速スイッチがONになり、定速制御中はP4で速度キープ、P3でブレーキ(P5はふつうに加速)になります。P2以下に戻すと定速スイッチが切れます。
動作している様子はゲームのプレイ動画をご覧になるとよいでしょう。
で、こんな感じの仕様をVRMのトラコンを使ってマネしたものが、次のコードです。編成スクリプトにコピペするとそのまま動きます。
// // Settings // SetNotch 5 8 SetNotchSpeed 1 1 15 SetNotchSpeed 2 25 43 SetNotchSpeed 3 33 68 SetNotchSpeed 4 40 85 SetNotchSpeed 5 55 120 SetNotchParam -1 25 SetNotchParam -2 25 SetNotchParam -3 25 SetNotchParam -4 25 SetNotchParam -5 25 SetNotchParam -6 25 SetNotchParam -7 25 SetNotchParam -8 100 SetInputMode 1 // // Setup // // Var FlgActive // Activeで1 Var VarCrtNotch Var FlgConstCtrl // 定速制御ONで1 Var EidNotchWatcher Var EidFcsIn Var EidFcsOut SetEventFocusIn MtdFcsIn EidFcsIn SetEventFocusOut MtdFcsOut EidFcsOut BeginFunc MtdFcsIn SetEventFrameTick this MtdNotchWatcher EidNotchWatcher EndFunc BeginFunc MtdFcsOut KillEvent EidNotchWatcher EndFunc BeginFunc MtdNotchWatcher Var a GetInputMode a if a GetCurrentNotch VarCrtNotch if> VarCrtNotch 0 Var crtspd GetNotchSpeed VarCrtNotch crtspd a // 定格は仮 GetCurrentSpeed crtspd ifeq VarCrtNotch 5 if>= crtspd 25.0 set FlgConstCtrl 1 SetNotchParam 4 1 SetNotchParam 3 50 SetNotchSpeed 3 24 25 endif SetNotchParam 5 100 else if<= VarCrtNotch 2 set FlgConstCtrl 0 SetNotchSpeed 3 33 68 // Settingsのところと同じ値! endif ifzero FlgConstCtrl if> crtspd a // 現在速度>均衡速度 SetNotchParam VarCrtNotch 6 else // call this MtdSetAccPrm set a 500 // 500なのは、最大5ノッチだから div a VarCrtNotch SetNotchParam VarCrtNotch a endif endif endif endif // DEBUG DrawVar VarCrtNotch GetNotchParam VarCrtNotch a DrawVar a if FlgConstCtrl DrawMessage "定速制御ON" else DrawMessage "定速制御OFF" endif DrawMessage "" endif EndFunc
定速制御時のP3ノッチの動作は、減速しすぎる戻しノッチを逆手に取ったかたちです。P4(速度キープ)は、NotchParamを1にしてしまってほとんど速度が動かないように見せかけています。
:;;;:+*+:;;;:+*+:;;;:+*+:;;;:+*+:;;;:+*+
ちなみに本ブログのVRMスクリプトの表示ですが、IEだとインデントが深すぎて見にくいと思います。ChromeかFirefoxでごらんください。
| 固定リンク
「VRM:研究」カテゴリの記事
- VRMNXの時間系イベントが使いにくいなあと思っているアナタへ(2019.12.24)
- [VRMNX] フレーム同期の話(2019.07.18)
- [Python] リスト型をベクトルに見立てて計算したい(2019.06.16)
- VRMNXのレイヤーベース地形を使ってみよう(前編)(2019.05.18)
- [VRMNX]自動踏切モジュール(2019.01.25)
この記事へのコメントは終了しました。



コメント