pyxelでミニゲームを作っています。
ランダムな位置に配置した障害物にプレーヤーが接触した時の当たり判定の実装の仕方がわかりさせん。障害物は、
self.balloons=[Balloon(random.randint(10, 150),random.randint(20, 110),random.randint(0,4)),Balloon(random.randint(10, 150),random.randint(20, 110),random.randint(0,4)),Balloon(random.randint(10, 150),random.randint(20, 110),random.randint(0,4)),Balloon(random.randint(10, 150),random.randint(20, 110),random.randint(0,4)),Balloon(random.randint(10, 150),random.randint(20, 110),random.randint(0,4)),Balloon(random.randint(10, 150),random.randint(20, 110),random.randint(0,4)),Balloon(random.randint(10, 150),random.randint(20, 110),random.randint(0,4)),Balloon(random.randint(10, 150),random.randint(20, 110),random.randint(0,4))]
と書きました。balloonが障害物です。
プレーヤーの動きは
def move(self):
#移動
self.y-=1
if pyxel.btn(pyxel.KEY_RIGHT):
self.x += 2
elif pyxel.btn(pyxel.KEY_LEFT):
self.x -= 2
#壁判定
if self.x > 180 - self.w:
self.x = 180 - self.w
elif self.x < 0:
self.x = 0
if self.y > 140 - self.h:
self.y = 140 - self.h
elif self.y < 0:
self.y = 0
と書いています。
プレーヤーが障害物に触れたら、その場で停止するようにしたいです。
プログラミング初心者なのでなるべく簡単に教えていただけると幸いです。
よろしくお願いいたします。
あなたの回答
tips
プレビュー