スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

.sの使い道

すごく今更ですが、
CLEOの.s使って同名のcustom_threadを複数作成できるんですね。
これを利用して処理が同じオブジェクトを
複数操作するスクリプトのコードをかなり短くできました。


多くのオブジェクトを作成、管理するスクリプトは
オブジェクトのハンドルを格納する変数を多く使うので、
hex~endを使ってスレッドに領域を作って格納していたんですが、
必要な情報を引数としてcustom_threadを作成すれば、
変数をかなり節約でき、しかもforループやメモリ読み書き処理の必要もなくなります。

例えば、オブジェクトを飛ばして衝突したら爆発するスクリプトを作ろうとしたら、
オブジェクトを作成し飛ばした後、
for ....
if
04DA: (check) has_object 0@ collided
then
..
..
..
end
end
などとループ処理を使って管理していました。
しかし.sファイルを使えば、
0@ 1@ 2@ に発射速度やオブジェクトの作成座標を格納しておき、
0A92: create_custom_thread "~.s" 0@ 1@ 2@
でスレッドを作成、あとは.s側でオブジェクトの処理を
単独で行わせればいいのです。

欠点は単一ファイルにできないことと分離した処理に干渉しにくいことでしょうか。
あと処理の速度や大量にスレッド作成した時のメモリの容量とか、
欠点ありそうですが、その辺りは詳しくないのでよく分かりません。
EXルーミアスクリプトをこれを利用して改良してみました。
MOD置き場に上げておきます。

comment

Secret

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

No title

2009-11-07さん
不具合修正して上げておきました。
myTwitter
最近のコメント
リンク
ブログ内検索
QRコード
QRコード
RSSフィード
カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。