2006/10/31

2006年10月のまとめ  月刊まとめ
VRM入道的にはこれまでにも増して読者置いてけ堀感の強かった2006年10月のまとめ。いや、ボクが置いてけぼりにしてるんじゃなくて、キミらがついてきてくれないだけなんだよ。

● VRM入道的ネットVRM界隈月間MVP

[GJ]部門
 山稜の作り方。 @ fox-hobby-blog
[ワロタ]部門
 打ち上げ準備 @ JUNのひとり言
[やれやれ]部門
 作り直し(>_<) @ 気ままにブログ
有望株:
 スプリングポイント
 似非スイッチバック @ 日向車両mini

[GJ]部門は目から鱗の山の作り方。VRM4ベースで書かれたものだが、VRM3にも応用可能で、しかもわかりやすい。

[ワロタ]部門はこのところ快調に(良い意味での)トンデモ系なネタを飛ばしまくるjunichi氏の異色作。この発想はなかった。やられた。

久々の[やれやれ]部門は、初心者会議室 メッセージNo.4405の流れを受けて「やれやれ」な感じ。

有望株は、fox氏のヤツがなければ間違いなくGJ部門MVPだったmoko氏のスクロール。

● 今月の注目ニュース

ささやかだが、しかし、凄いことが起きている
鉄道模型レイアウターF2006ってどうなんだろう?

本家I.MAGiC的にはVRM4小田急ロマンスカーVSEの発売やレイアウトコンテストがメインだったと思うのだが、VRM入道的には今月はリアル鉄道模型絡みがいろいろ面白かった。

余談になるが、この筋のもう一方の雄であられるJR関西氏が今月初旬に交通事故に遭われた由。大事に至らず不幸中の幸いであったが、氏に改めてお見舞い申し上げると共に、親愛なるVRMユーザー諸兄におかれても、これを氏の身を挺しての注意喚起と受け止め、くれぐれも日々ご油断なきように、と、お願い申し上げる次第。

● 自薦VRM論考 & ネタ

・ネットVRM界隈で活躍したい人へのヒント(その4/その7
【何か】シリーズを作ってみよう(連載全14回)
VRMユーザー紳士録#23 Willi Leopold殿(前後編)
スクロールをより使いやすくするための改善案(前後編)

以上、2006年10月のまとめでした。
0

2006/10/30

【何か】シリーズを作ってみよう(その14)  【何か】スクロール
前回へ戻る>

この連載の最終回です。

ここまでで“【何か】センサー”から受け取るパラメーターに応じて、

・0〜300であれば速度(Km/h)と解釈し、編成の加減速性能に準じてその速度まで加速または減速する。
・301以上であれば停車位置までの距離(Nゲージmm)と解釈して減速→停車し、一定時間後に再発車する。
・-1以下であればその絶対値を停車位置までの距離と解釈して減速→停車し、一定時間後に方向転換してから再発車する。

が“【何か】この速度で走れ”に組み込まれました。【何か】シリーズとしてはこれで十分完成なのですが、どうせならばこのスクロールを自動運転の万能スクロールとすべく、以下のオマケ機能を組み込むことにします。

(1) あるキーを押すと、編成がアクティブになる。
(2) キーを押したときに編成が停車していた場合、発車する。

この機能を加えることで、【何か】センサーが適切に配置されているレイアウトであれば、カーソルキーによる運転操作を一切しなくても、スクロールのみで出発を含むすべての速度制御を賄えることになります。

続きを読む
0

2006/10/29

【何か】シリーズを作ってみよう(その13)  【何か】スクロール
前回へ戻る>

今回は、前回示したメソッドsubStopから(SetEventZeroSpeed命令で設定される)停車イベントによってcallされるメソッドsubStopped以降、編成を再出発させるまでの流れを解説します。この一連の流れでは、以下のことをおこないます。

(1) 停車してから一定時間待つ。
(2) グローバル変数VarFlagの値が1であれば方向転換する。
(3) さらに一定時間待つ。
(4) 再出発する。

メソッドの中身に入る前に、上掲下線部の「一定時間」を得るべく、paramセクションを1つ追加しておくことにしましょう。

param
{
name WizStopTime
type int
default 2500
range 1000 30000
guide "停車時間の半分(単位ミリ秒)。停車後、この時間が経過すると方向転換がおこなわれ、さらに同じだけ時間が経過すると出発する。"
}

paramセクションの書き方についてはこちらで解説しているので参照してください。“WizStopTime”という名前で1000〜30000(1秒から30秒に相当)の数値をSCRIPTウィザードから受け取る、という意味になります。以前の「編成の加減速性能」の場合と異なり、VRMスクリプトの世界では時間は単位ミリ秒の整数扱いですので、type要素は“int”になります。

ここで受け取ったWizStopTimeを使って、(1)〜(4)の処理をおこなうメソッドを以下に示します。
続きを読む
0

2006/10/28

【何か】シリーズを作ってみよう(その12)  【何か】スクロール
前回へ戻る>

今回は変数VarParameterの距離だけ走って期待の停車位置にピタリと止めるメソッドsubStopの中身について解説します。ここには、停車した後の動作(必要に応じて方向転換し、再発車する)のための準備も含まれます。

//↓独自の初期化処理(グローバル変数宣言等)はここで

Var VarParameter //パラメータ保存用
Var VarFlag //折り返し運転フラグ
Var IDEvent //イベントID
Var VarStartVoltage //減速開始時の電圧
Var VarStartTime //停車・再出発所要時間


//↑ここまで

まず、scriptセクション冒頭の初期化処理部に、例によって黄色で示したグローバル変数の宣言を追加しておくことにします。これらを何に使うかについては、メソッドの中身に触れながら見ていくことにしましょう。

では、肝心のメソッドsubStopの中身です。これを既に組み込み済みのメソッドsubSpeedの後に書き加えます。

BeginFunc subStop
//
//VarParameterの距離だけ走行して停車するメソッド
//
//既に停車イベントが設定されていれば、一旦これを解除する
KillEvent IDEvent
//停車イベント設定
SetEventZeroSpeed subStopped IDEvent
//停車所要時間算出
Var TmpSpeed
Var TmpTime
GetCurrentSpeed TmpSpeed
div TmpSpeed 3.6
mov TmpTime VarParameter
mul TmpTime 300.0
div TmpTime TmpSpeed
cnvint TmpTime
//再出発用電圧・加速所要時間記録
GetCurrentVoltage VarStartVoltage
mov VarStartTime TmpTime
//減速開始
SetTimerVoltage 0.0 TmpTime
EndFunc


続きを読む
0


teacup.ブログ “AutoPage”
AutoPage最新お知らせ