回答編集履歴

1

当たり判定追加

2019/12/28 14:26

投稿

thkana
thkana

スコア7703

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]が入っていれば「あたり」なわけですね。