« JAMキター!! | トップページ | 自動センサーで踏み切り »

「編成ステータス」についての備忘録

最近のアップデートは色々ありすぎて分からん。全ての機能に追いついていけないorz...
なんか、VRMで遊んでいるというよりVRMに弄ばれてるような感じすら覚える。

と、いうわけで編成ステータス領域について。

先に断っておくが、あくまで自分用の備忘録だから意味が分からないとか申し立てられても困るので。

akg2.0では、色々なオブジェクトに特別なグローバル変数を3つほど作り、「代入直後に使用し、破棄する」という約束事の下、メソッドの仮想的な引数として取り扱っている。
これはタイマーイベントの考慮が無いという欠点があるため、例えば駅停車センサーは編成の速度を引数変数経由でセンサーに一度コピーし、センサー内で計算を行った上で減速を始めるタイミングになったら目標速度を同じ引数変数に書き込んで速度調整メソッドをcallしている。

今は、編成に「引数変数に現在速度を書き込むメソッド」を用意して必要に応じて「call⇒mov⇒(使用)⇒破棄」という手順を踏んでいる。

しかし、FetchTrainStatus命令のカテゴリは「システム」となっているが故に、どこのオブジェクトからも呼び出せるわけだから、FncGetCrtSpdが不要となるはずだ。
厳密には、Fetch~~で代入される値は整数値だからじゃっかん動作に誤差が出るんだけれども。まぁその辺はヒューマノイドな誤差と思えばいいじゃん。

けれども、だからといって引数変数の役割をなんでもかんでも編成ステータスに委譲する事はできない。なぜならば、信号その他のオブジェクトにはそのようなものは存在しないからだ。

|

« JAMキター!! | トップページ | 自動センサーで踏み切り »

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く



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




トラックバック


この記事へのトラックバック一覧です: 「編成ステータス」についての備忘録:

« JAMキター!! | トップページ | 自動センサーで踏み切り »