忍者ブログ
鉄道模型シミュレーター(VRM)を紹介するホームページ「CaldiaのVRM Room」の更新情報と、Caldia本人の日常ぐだぐだ日記。
[504] [503] [502] [501] [500] [499] [498] [497] [496]
VRMNXをやりたいだけのためにデスクトップPCを渋々Windows10にアップグレードしました。
遂にVRMNX参戦します。

と言っても本業のデスマーチは常時進行中で暇ができた訳ではないので、触るペースは非常にスローペースになると思われます。
仕事はOffice、息抜きにPythonと言った感じ。

ひとまずvrmapiの仕様把握とデバッグ体制の強化(内部変数の見える化など)を中心にやっていきます。
その後は自作メソッドのライブラリ化とデータのファイルIOぐらいは目処つけたいところ。



Pythonのお作法がよく分からんのですがJavaとかC#やってる身としてはvrmapiはちょっと見えにくい&取っつきにくい感じ。

例えば「ListCar」だとVRMでは

ls=list()
vrmapi.LAYOUT().ListCar(ls)

と書きますが、C#的なノリだと

ls = vrmapi.LAYOUT().ListCar()

って書きたい。
Pythonだとデータ型定義が無いので出来ないんかな?

また、普通のPythonのdict型やlist型はprint()で中身を表示できるのでステータス確認が楽ですが、vrmapi.LOGだとその手の出力はやってくれないみたいなので、自作メソッド作って何とかするかも。

とりあえず少しずつ触ってみたいと思います。



1/31追記

>ls = vrmapi.LAYOUT().ListCar()

よく考えたらこれは駄目だ。
これだとls内のデータ参照先はVRMが使用(保証)している値が入ってるので、ClearとかAddとかするのはNG。

ls=list()
vrmapi.LAYOUT().ListCar(ls)

これだと値のディープコピーでVRMから切り離された(保証外)の値になるので適当に扱っていい。
VRMにアクションする時はこれらの値をヒントにvrmapiを介して制御する。
これにより外部からの直接パラメータ書き換えを許さず、動作を保証する必要のあるVRMとフリーダムに扱っていいPythonの環境を分離して共存させているわけですな。
納得!すごーい!
PR

コメント
無題
お待ちしてました!
【2019/01/31 13:18】 NAME[AKAGI] WEBLINK[] EDIT[]
無題
お待たせしました。
実質一人でカリカリ記事アップしてくれてて、何というかありがとうです。

おそらくVRMやPythonに対するアプローチの仕方がそれぞれあると思うので、適時情報をアペンドしていきたいところです。
今後ともヨロシク!
【2019/01/31 22:37】 NAME[Caldia] WEBLINK[] EDIT[]


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


忍者ブログ [PR]
ブログ内検索
最新コメント
[01/31 Caldia]
[01/31 AKAGI]
[12/17 Caldia]
[12/12 AKAGI]
[12/10 Caldia]