所以过去几个月我一直在教自己一些pygame
做飞船游戏。
我有多个敌人太空飞船守卫某个区域。如果玩家进入他们的某个半径范围内,我想改变敌人的状态。在不使用向量的情况下,为初学者做这个的最佳方法是什么?
答案 0 :(得分:1)
您可以在程序中创建一个名为is_close
的方法,然后为每个player and enemy
比较调用它。它看起来像这样:
def is_close(object1, object2, distance):
return math.hypot(object2.x-object1.x, object2.y-object1.y) < float(distance)
... #rest of your code
while True: #This is your main while loop
... #rest of your code
for enemy in enemies:
if is_close(player, enemy, 25):
enemy.state = new_state #change state, this may simply be a color change