以前メモ1・getspsizeで、getspsize命令を使用するとスプライトの存在確認ができるという記事を書いた。
ところがNScripter-Tipsさんの中級者用講座・Tipsによれば、csp後にgetspsizeすると消去前のスプライトのサイズが返ってきてしまうらしい。 このままではスプライトの存在確認が出来ない。ではどうしたらいいか。 ぱっと思いついたのは、小さい画像を読み込むことでサイズを上書きすることだった。以下のような感じで。 *csp getparam %0 _csp %0 lsph %0,"getspsize.jpg",0,0 return csp後に1*1ドットの画像(ここではgetspsize.jpg)を読み込むことで、getspsizeで返ってくる値を1、1にする。存在確認をするときは、サイズが1以下なら存在しないとすればいい。 問題は、サイズは小さいとはいえ画像を読み込んだままであるということだろうか。試してはいないが、多少ネックになりそうな気がする。 [12月11日追記] よく考えたらまたcspしなおせばいいだけだった。なんという間抜け。 ということで、スクリプトはこうなります。 *csp getparam %0 _csp %0 lsph %0,"getspsize.jpg",0,0 _csp %0 return あと、このままでは引数が-1(スプライト全消去)のときにバグが発生します。個人的には-1を使う機会がほとんどないので(必要なスプライトまで消してしまうから)、自分が使う場合にはこのままでいいんですけどね。何かするとしたらスプライト番号の範囲から外れた数字が引数に与えられた場合にそのままreturnするくらいでしょうか。 [12月11日さらに追記] 上のスクリプトもまだ冗長でしたね……。 おそらくこれが一番スマート。 *csp getparam %0 lsph %0,"getspsize.jpg",0,0 _csp %0 return
by lyricist_m
| 2007-12-10 21:51
| NScripter
|
web拍手を送る
個人サイト
検索
カテゴリ
以前の記事
最新のトラックバック
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧
リンク
サークル関係
NightShifts k'のBlog NScripter関係 ■ Takahashi's Web ■ Binary Heaven NScripter Scripting Factory NScripter-Tips nscrplg NS栗 Withoutlimit 永字八法 貴史たま+MEのHP 君影草工房 ※以下、更新停止中 nscr SGP -Sphere Game Production 花鳥風月 牛小屋 |
ファン申請 |
||