質問するログイン新規登録

回答編集履歴

1

当たり判定追加

2019/12/28 14:26

投稿

thkana
thkana

スコア7739

answer CHANGED
@@ -38,4 +38,19 @@
38
38
  ```
39
39
  の順にしなければいけないわけですが...
40
40
 
41
- これでは多分期待しているのと違うことが起こるかと思います。やってみて、何が起こるか確かめて、なぜそうなるか考えてみて下さい。
41
+ これでは多分期待しているのと違うことが起こるかと思います。やってみて、何が起こるか確かめて、なぜそうなるか考えてみて下さい。
42
+
43
+ ---
44
+ 当たり判定。
45
+
46
+ ![イメージ説明](2d7dc77226a09420724333346a2ea57a.png)
47
+ 図の通り。プレーヤーのバーに対して、物体(円)の中心が赤線のエリアの内側だったら「あたり」。物体一つ一つについてこれを調べればいいわけです。一つの式でど~んと、というのも出来ないとはいいませんが、赤線のエリアをいくつかに分割して調べた方が混乱しないで考えられると思います。(なお、バーの角の丸みは面倒になるので端折っています。こだわるなら自力でどうぞ)
48
+ 例えば、
49
+ - (playerx,playery-maruh/2)と(playerx+playerw,playery+plyaerh+maurh/2)を対角とする長方形
50
+ - (playerx-maruw/2,playery)と(playerx+playerw+maruw/2,playery+playerh)を対角とする長方形
51
+ - (playerx, playery)を中心とする半径maruh/2の円内
52
+ - (playerx+playerw,playery)を中心とする半径maruh/2の円内
53
+ - (playerx+playerw,playery+playerh)を中心とする半径maruh/2の円内
54
+ - (playerx,playery+playerh)を中心とする半径maruh/2の円内
55
+
56
+ のいずれかにいずれかの物体の中心i*40+20,maruy[i]が入っていれば「あたり」なわけですね。