回答編集履歴
1
当たり判定追加
test
CHANGED
@@ -79,3 +79,33 @@
|
|
79
79
|
|
80
80
|
|
81
81
|
これでは多分期待しているのと違うことが起こるかと思います。やってみて、何が起こるか確かめて、なぜそうなるか考えてみて下さい。
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
---
|
86
|
+
|
87
|
+
当たり判定。
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
![イメージ説明](2d7dc77226a09420724333346a2ea57a.png)
|
92
|
+
|
93
|
+
図の通り。プレーヤーのバーに対して、物体(円)の中心が赤線のエリアの内側だったら「あたり」。物体一つ一つについてこれを調べればいいわけです。一つの式でど~んと、というのも出来ないとはいいませんが、赤線のエリアをいくつかに分割して調べた方が混乱しないで考えられると思います。(なお、バーの角の丸みは面倒になるので端折っています。こだわるなら自力でどうぞ)
|
94
|
+
|
95
|
+
例えば、
|
96
|
+
|
97
|
+
- (playerx,playery-maruh/2)と(playerx+playerw,playery+plyaerh+maurh/2)を対角とする長方形
|
98
|
+
|
99
|
+
- (playerx-maruw/2,playery)と(playerx+playerw+maruw/2,playery+playerh)を対角とする長方形
|
100
|
+
|
101
|
+
- (playerx, playery)を中心とする半径maruh/2の円内
|
102
|
+
|
103
|
+
- (playerx+playerw,playery)を中心とする半径maruh/2の円内
|
104
|
+
|
105
|
+
- (playerx+playerw,playery+playerh)を中心とする半径maruh/2の円内
|
106
|
+
|
107
|
+
- (playerx,playery+playerh)を中心とする半径maruh/2の円内
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
のいずれかにいずれかの物体の中心i*40+20,maruy[i]が入っていれば「あたり」なわけですね。
|