如果玩家进入敌人的半径范围内,则改变状态

时间:2014-03-26 23:14:02

标签: python pygame

所以过去几个月我一直在教自己一些pygame做飞船游戏。

我有多个敌人太空飞船守卫某个区域。如果玩家进入他们的某个半径范围内,我想改变敌人的状态。在不使用向量的情况下,为初学者做这个的最佳方法是什么?

1 个答案:

答案 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