★ゲーム製作期待の星! HSP Part 9 ★at GAMEDEV★ゲーム製作期待の星! HSP Part 9 ★ - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト104:名前は開発中のものです。 10/03/04 20:56:07 LD9yAEkV もちろん、配列においても、几帳面な人は死んだ敵の変数は不要のものとし、それ以降の 変数をひとつずつ前にずらす、といったことをやっているかもしれない。 これならば、敵の処理にかかる時間を最小限におさえることができるからだ。しかし一般的 には、敵のフラグという配列変数を用意し、敵の出現と同時に1とし、死ぬと同時に0とする だろう。この場合、画面に登場する敵の最大数を100とするならば、1フレームごとに100 個のフラグをチェックすることになる。だが現代のPCは十分に高速であるので、気にする 必要もないだろう。 現実には敵の出現数はせいぜい10匹程度であると思われる。HSPの場合注意すべきは、 むしろ地形の方である。例えば32*32ドットの矩形を1ブロックとする。画面が640*480で あるならば、最大20*15=300個のブロックが配置可能ということになる。存在するブロック すべてについて、主人公と地形の当たり判定を行わなければならないのだ。インタプリタ 型言語であるHSPにとって、これは苦しい問題だ。敵が壁に当たったら反転する、地面の 端に来たら反転する、といったアルゴリズムである場合、敵と地形との当たり判定も発生 するのだ。例えばawait 16としている場合、16ミリ秒をオーバーすることは由々しき問題 だ。自分のPCでゲームバランスを調整するのであるから、もしも16ミリ秒をオーバー しているのであれば、自分より速いPCの持ち主では速すぎてものすごく難しいゲームに なっている可能性もある。この、地形との当たり判定問題に関しては、より巧妙なアルゴ リズムが必要であるかもしれない。例えば、地形の配列が chikei(3)="100000000000011" となっているとする。これは左から4ブロックめの、縦1列の状況である。今主人公がジャ ンプして、着地しようとしているところだとする。ここでは、主人公の足元の1番前と1番後ろ、 2点の座標だけについて当たり判定を行うものとする。前の座標が今、x=100、y=418である 場合、int(100/32)=3、int(418/32)=13、つまりchikei(3)の14番目の数字を見てただちに 当たりと判定することができる。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch