ユーザ用ツール

サイト用ツール


2025:01:19

文書の過去の版を表示しています。


プログラム

  • umkaのEmbedについてもう少し突っ込んだ使い方してみた。

  • どうやらスクリプトを実行するVM上では1回の処理を超えて変数を管理しない様子。
  • これはどういうことかというと、「計算結果をそのままでは保管しておけない」ということ。
  • スクリプトで計算した結果は、そのままだとVMに残らないということ。
  • こういう仕様じゃないと、ホストプログラムとスクリプトVM、どちらの状態も管理しないといけなくなる。
  • 変数が残っていたから計算結果が想定していないものになるバグの温床にもなりうるし、すべて消されるのであればその対応として「ホストプログラム側に関数を利用して保管する」という選択肢になる。
  • これはMiniScriptも同様の仕様で、おそらく保存しているとVMの寿命が伸び続けて開放ができなくなってしまうよねと。

  • クリアされるのであれば方針は立てやすい。
  • 関数としてget/set関数を作成して、それを使って変数を管理していくという方法になる。
  • もしくはオブジェクトごとに加算処理だけを実装する手はあるんだけど、それだと目分量で移動のスムージングやブレーキ等を行う形になるため、制御が困難になるデメリットがある。
  • 制御が柔軟なのは前者の方法。計算を自分で行う領域が多くなるのがデメリットではあるけど、それを上回るメリットがある。
  • 実はMiniScriptでも前者と同様の処理を実装してスクリプトを書けるようにした。おかげでボーン処理や昔のゲームっぽい多関節処理を丸ごとスクリプトで書くことになったが、それでも問題なく動いてるのでだいぶ助かった。
2025/01/19.1737260857.txt.gz · 最終更新: 2025/01/19 13:27 by machiaworx