XX牛牛 发表于 2022-6-22 20:38:02

怎么分辨子弹撞没撞上敌人?

怎们检测子弹撞没撞上敌人?
《向大佬求助》
<链接:https://www.bilibili.com/video/BV1i741137rM?p=1&vd_source=e28f67e1ff560f9663e3f98ba54547d0>
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
参考代码:
def distance(bx,by,ex,ey):
   a = bx - ex
   b = by - ey
   return math.sqrt(a*a + b*b)

取平方根干什么呀?

XX牛牛 发表于 2022-6-22 20:43:02

class Bullet():
   def __init__(self):
          self.img = pygame.image.load("bullet.png")
          self.x = playerX + 40
          self.y = playerY + 20
          self.step = 5
   def hit(self):
          global score
          for e in enemies:
               if distance(self.x,self.y,e.x,e.y) < 30:
                  bao_song.play()
                  score += 1
                  bullets.remove(self)
                  e.reset()
#1.子弹列表:
bullets = []
#2.敌人的个数
enemies = []
for i in range(number_of_enemies):
   enemies.append(Enemy())
# 计算子弹是否撞上敌人
def distance(bx,by,ex,ey):
   a = bx - ex
   b = by - ey
   return math.sqrt(a*a + b*b)
# 画出敌人

白two 发表于 2022-6-22 20:43:21

取平方根就是算距离的, 不然算出来是距离的平方

XX牛牛 发表于 2022-6-22 20:47:21

儿子模仿制作了打飞机游戏,但是不知道distance()函数的意义,按说是检测碰撞体积的,然而求平方根,完全看不懂,请帮忙看看

nikezhi 发表于 2022-6-22 22:00:40

白two 发表于 2022-6-22 20:43
取平方根就是算距离的, 不然算出来是距离的平方

是精易那个狗头吗?

白two 发表于 2022-6-22 22:39:16

nikezhi 发表于 2022-6-22 22:00
是精易那个狗头吗?

?
页: [1]
查看完整版本: 怎么分辨子弹撞没撞上敌人?