USO800鉄道BLOG パワーユニット テスト走行2。

 BLOGのTOPページ 

パワーユニット テスト走行2。

junichiさんよりBLOGコメントにて
「コントローラで速度の調整は出来るんですか?」
という質問をいただきました。

一昨日までの時点では、電圧100%か電圧0%のどちらかでしたが、
その速度調整スクリプトを仕組んでみました。




仕掛けている事は
1キーを段階的に押していくと、ダイヤルが段階的に左回転。
2キーを段階的に押していくと、ダイヤルが段階的に右回転。

段階は右へ10段。左へ10段。
段の速度高低さは電圧+-0.1づつ。
編成の最高速度を200km/hに設定したので、1段階につき+-20km/hづつということでやってあります。



ただしダイヤルの位置ですが
これは、モデルオプション1,2,3でやっておりまして
3種類しか登録できない(厳密には4つですが残り一つは他で使用)ため、
「右のMAX」か「STOP」か「左のMAX」の3種しかありません。

なので、私の手元のキーボード操作の動画もあれば分かりやすいのですが、それはちょっと手間なのでご勘弁を。


対策として矢印ポリゴンを20段階分、ダイヤルの20段階分の位置に配置。
方向幕リソースの差し替え対応にして、
該当位置でない矢印ポリゴンにはrgb=0,0,0を当てるみたいな、

というアイデアはあるのですが、
実際にそれを施すとなるるとそれ相当。
保留。


まぁ、とりあえず、そのように仕掛けてある
という事で、今回の記事は終了。





【パワーユニットに仕込んだスクリプト】

Var evid1
Var evid2
Var evid3
Var direction
Var a
Var dial
Var voltage
Var dansu
Var keisu2
Var dial_disp


//ビュワー起動時の電源状態(0:電源OFF 1:電源ON)
set a 0

//ビュワー起動時のダイヤル状態&電圧0(2: STOP位置)
set dial 2
set dial_disp 2
setf voltage 0.0

//------------------------------対象の編成の進行方向(正位:1 反位:-1)
setf direction 1.0

//電圧の段階(ダイヤル1段階の数値)
setf dansu 0.1

//その他
setf keisu2 0.0

//------------------------------キー操作(最後の文字が該当キー)
SetEventKey this , 電源ON・OFF, evid1, p
SetEventKey this , ダイヤル左回転 , evid2, 1
SetEventKey this , ダイヤル右回転 , evid3, 2



//---------------------------------------------■ダイヤル左回転
BeginFunc ダイヤル左回転


//---------------------モデルの表示処理
SetModelOption dial_disp 0
sub dial 1
if<= dial 1
set dial_disp 1
endif
ifeq dial 2
set dial_disp 2
endif
SetModelOption dial_disp 1

//---------------------進行方向の処理
ifeq dial 1
ifeq direction -1
call de10 進行方向反転
set direction 1
endif
endif

//---------------------スピード調整
mov keisu2 dansu
mul keisu2 direction
add voltage keisu2
cnvfloat voltage
mov de10 voltage this voltage
call de10 スピード変更
EndFunc



//------------------------------------------------■ダイヤル右回転
BeginFunc ダイヤル右回転

//---------------------モデルの表示処理
SetModelOption dial_disp 0
add dial 1
if>= dial 3
set dial_disp 3
endif
ifeq dial 2
set dial_disp 2
endif
SetModelOption dial_disp 1

//---------------------進行方向の処理
ifeq dial 3
ifeq direction 1
call de10 進行方向反転
set direction -1
endif
endif

//---------------------スピード調整
mov keisu2 dansu
mul keisu2 direction
mul keisu2 -1.0
add voltage keisu2
cnvfloat voltage
mov de10 voltage this voltage
call de10 スピード変更
EndFunc

//---------------------------------------------------電源オンオフ
BeginFunc 電源ON・OFF
xor a 1
SetHeadlight a
SetPantograph 0, a
ifeq a 1
call 電源オン 再生
else
call 電源オフ 再生
endif
EndFunc

<< パワーユニットにインジケーター的なランプを装着。 | ホーム | パワーユニットのスクリプトを書き直す。 >>

コメント

コメントの投稿

URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 

トラックバック


この記事にトラックバックする(FC2ブログユーザー)


 BLOGのトップまで戻ってしまう 



2017年度

カウントダウンタイマー

検索フォーム

カレンダー

05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -

自作車両はコチラから↓↓

Google+写真

過去のTOP画像ギャラリー

YOUTUBE動画

YouTubeうそはっぴゃくチャンネル

カテゴリー

最近のコメント

リンク

RSSリンクの表示

twitter