「四角同士の判定」
- https://scratch.mit.edu/projects/1030176043/
- 「今回長すぎる(約200秒)し、解説していること難しいから滅茶苦茶見ていて飽きそう....」
あらすじ
- 適当なプラットフォーマーのアプデに関して。
- 適当プラフォには地面に着地しようとしてバグりめり込んですり抜けるバグや、普通に地面に埋まるバグなどがある。
- これは地面のクローンを作ったのち、その地面の判定をもとにプレイヤー側の処理をし、最後にクローンを削除するのが本来の流れとなっているが、たまにプレイヤー側の処理をする前にクローンが削除されてしまうバグが起こるためと思われる。
- 対処法としては、処理方法を大幅に変えること。
- 「もし『○○に触れた』なら」を使わず、演算で触れているか処理する。
- この二つの正方形触れ合っているかを座標などの数字から求めるには、XY座標それぞれの差の絶対値が両方とも縦横それぞれの全長の半分の合計より低い場合が両方とも成り立つ時か求めればよい。(難解)
- 20×20の図形同士が接触している時はその座標の差(の絶対値)が、お互いの図形の半分の長さ10マス+10マスで20マス以下であるという共通点がある。
- これをXY座標両方で満たしていたら、触れているということになる。
- 適当なプラットフォーマーにこれを導入する方法。
- まず工程として、その当たり判定などの大きさがどれぐらいかなどを全パーツ(214個)に記す。(自動測定は精度が保証されないため手打ちで)
- そしてその当たり判定の演算をするものの番号などをリストに記して下準備は完了。
- 次に接触判定を作る。仕組みは数値から触れているか計算して触れていたら変数(リスト)に記すだけ。詳細は適当プラットフォーマーのプロジェクトを参照。
- 最後に地面やトゲに触れている場合のブロックを置き換えるようにプログラムする。
- ちなみに現時点でまだ完成はしていない。特殊ギミックは未実装。
- あとアニメとは。
関連話
なし