背景の当たり判定用データを別ファイル化
予告通りの仕事を終らせました(笑)
背景に関する当たり判定は以前の記事で書いた様に四角形の接触判定を用いています。
そのため、背景にはグラフィックデータの他に、各ブロックごとの四角形の左上と右下の座標のデータが必要になります。
それらの座標と、自機、波動砲の座標を比較して当たり判定を行うわけです。
で、背景との当たり判定を実装した段階では、とりあえず背景四角形の座標を入れる配列変数を用意して、そこにプログラム内で直接代入しておく方法をとっていました。
当たり判定がしっかり働くかどうかの実験が目的だったので。
ですが、その時点で既にデータは別ファイルにしておくべきだなと思っていました。
徐々に背景のグラフィックを描いてゆく今回のような制作スタイルの場合、区切りの良いところまで描き終わるごとに四角形の座標も追加してゆくことになります。
であれば、敵機のデータと同じく、いちいちデバッグの必要の無い別ファイルにデータを入れておいた方が良いだろうと。
また、今回は1ステージのみですが、複数ステージある場合や、今回の横スクロールシューティングのプログラムをベースに新たなゲームを作る場合に、別ファイルから読み込んだデータから当たり判定を行う方が流用も効きます。
プログラム自体は敵データのファイル読み込みと同じことだし、背景との当たり判定を行う関数は機能させていないだけで既に出来ていたので、あっさり実装できました。
でも、現在のバージョンは画面外も含めて全ての背景ブロックと毎フレーム当たり判定を行っています。
そのことによる処理の遅れは今のところ見られませんが、今後背景を書き足していった時どうなるかわかりません。
それにやはり画面に表示されていないものと当たっているか判定するのはナンセンスです。
なので、次はこの当たり判定を画面内のオブジェクトに対してのみ行うようにしようと思います。
ドット絵エディタに表示した背景の各ブロックの角座標にマウスカーソルを合わせて、表示される座標をノートに書き出します。
これをテキストファイルに打ち込んで、読み込むデータファイルを作ります。
マップエディタとか作る技術が無いので、非常にアナログな作業になります(笑)
いや、これはこれでなかなか楽しかったり。
では久々の更新なので実行ファイルを。
いつも通りソーステキスト同梱です。
http://multip.net/view/H3OtLqfSd1
ダウンロードや操作方法については前の方の記事を参照してください。
- ABOUT
- カレンダー
06 | 2025/07 | 08 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 最新コメント
- プロフィール
はい。
- ブログ内検索
- カウンター
- アクセス解析