2025:01:19
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
2025:01:19 [2025/01/19 13:27] – machiaworx | 2025:01:19 [2025/01/19 13:30] (現在) – machiaworx | ||
---|---|---|---|
行 1: | 行 1: | ||
===== プログラム ===== | ===== プログラム ===== | ||
- | * umkaのEmbedな実装についてもう少し突っ込んだ使い方してみた。 | + | * umkaの組み込み実装についてもう少し突っ込んだ使い方してみた。 |
---- | ---- | ||
* どうやらスクリプトを実行するVM上では1回の処理を超えて変数を管理しない様子。 | * どうやらスクリプトを実行するVM上では1回の処理を超えて変数を管理しない様子。 | ||
- | * これはどういうことかというと、「計算結果をそのままでは保管しておけない」ということ。 | + | * これはどういうことかというと、スクリプトで計算した結果は、そのままだとVMに残らないということ。 |
- | * スクリプトで計算した結果は、そのままだとVMに残らないということ。 | + | |
* こういう仕様じゃないと、ホストプログラムとスクリプトVM、どちらの状態も管理しないといけなくなる。 | * こういう仕様じゃないと、ホストプログラムとスクリプトVM、どちらの状態も管理しないといけなくなる。 | ||
* 変数が残っていたから計算結果が想定していないものになるバグの温床にもなりうるし、すべて消されるのであればその対応として「ホストプログラム側に関数を利用して保管する」という選択肢になる。 | * 変数が残っていたから計算結果が想定していないものになるバグの温床にもなりうるし、すべて消されるのであればその対応として「ホストプログラム側に関数を利用して保管する」という選択肢になる。 | ||
- | * これはMiniScriptも同様の仕様で、おそらく保存しているとVMの寿命が伸び続けて開放ができなくなってしまうよねと。 | + | * これはMiniScriptも同様の仕様で、おそらく保存しているとVMの寿命が伸び続けて開放ができなくなってしまうのが根底にありそう。 |
---- | ---- | ||
* クリアされるのであれば方針は立てやすい。 | * クリアされるのであれば方針は立てやすい。 | ||
- | * 関数としてget/ | + | * 確実なのは、①機能ごとにget/ |
- | * もしくはオブジェクトごとに加算処理だけを実装する手はあるんだけど、それだと目分量で移動のスムージングやブレーキ等を行う形になるため、制御が困難になるデメリットがある。 | + | * もしくは②オブジェクトごとに加算処理だけを実装する手はある |
- | * 制御が柔軟なのは前者の方法。計算を自分で行う領域が多くなるのがデメリットではあるけど、それを上回るメリットがある。 | + | * ②だと目分量で移動のスムージングやブレーキ等を行う形になるため、制御が困難になるデメリットがある。 |
- | * 実はMiniScriptでも前者と同様の処理を実装してスクリプトを書けるようにした。おかげでボーン処理や昔のゲームっぽい多関節処理を丸ごとスクリプトで書くことになったが、それでも問題なく動いてるのでだいぶ助かった。 | + | * 制御が柔軟なのは①の方法。計算を自分で行う領域が多くなるのがデメリットではあるけど、それを上回るメリットがある。 |
+ | * 実はMiniScriptでも①の方法で各種処理を実装してスクリプトを書けるようにした。おかげでボーン処理や昔のゲームっぽい多関節処理を丸ごとスクリプトで書くことになったが、むしろアルゴリズムそのまま書けるのでだいぶ作りやすかった。 |
2025/01/19.1737260870.txt.gz · 最終更新: 2025/01/19 13:27 by machiaworx