5章衝突判定

ゲームを面白くするには、小さなRed Hat Boy(RHB)を走らせ、ジャンプさせ、スライディングさせなければならない。幸いここまでは全部実装できたので、後はジャンプして飛び乗るモノ、スライディングでくぐり抜けるモノ、ぶつかるモノが必要だ。それには、衝突判定(collision detection)を行う必要がある。衝突判定は、ゲームの開発で最も面白く、そして面倒なものの1つだ。

衝突判定は2つの形が交わるかどうかを判定する数学から始まるが、あらゆる興味深い問題へと発展する。本章では、これらの問題のうち、透過スプライトの処理など、いくつかの問題を扱う。キャラクターが浮き台の上からは着地するが、下からはぶつかるようにするにはどうしたらいいだろう?単純な箱型でない形のスプライトはどう扱えばいいのだろうか?考えることはたくさんある!

本章では以下のことを行う。

  • 舞台の作成
  • 軸平行バウンディングボックス
  • スプライトシートからのバウンディングボックスの取得
  • 障害物との衝突
  • 浮き台への着地と浮き台からの落下

本章を読み終える頃には、短いが本物のゲームが手に入る。もっともらしい衝突判定が設定されたシーンを作る技術や、衝突イベントを自分のプログラムに取り込む方法を学ぶ。望むなら、新たなオブジェクトをシーンに追加し、そのオブジェクトに衝突したり、飛び乗ったりすることもできるようになる。世界から落っこちることすら可能になる。さあ、はじめよう!

5.1 技術上の準備

本章で使用するアセットを下記からダウンロードしよう。https://github.com/PacktPublishing/Game-Development-with-Rust-and-WebAssembly/wiki/Assets ...

Get RustとWebAssemblyによるゲーム開発 ―安全・高速・プラットフォーム非依存のWebアプリ開発入門 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.