2024-09-29 23:25:43 发布
网友
我已经试了好几天了。基本上你控制了一个玩家,僵尸会跟着你。 问题是,我好像不能让僵尸跟着我!我试过If语句
if playerx > zombiex: zombiex=zombiex - 2 screen.blit(zombie,(zombiex,zombiey))
但那没用。。。。:/ 有什么想法吗?在
也许这就是你要找的。在
def length(x, y): return (x ** 2 + y ** 2) ** .5 def norm(x, y): _len = length(x, y) return x / _len, y / _len class ZombieController(object): def __init__(self, zombie_view_range): self._zombs = [] self.append = self._zombs.append self._range = zombie_view_range def NextFrame(self, player_pos): px, py = player_pos _range = self._range for zombie in self._zombs: x, y = zombie.position dx, dy = px - x, py - y _len = length(dx, dy) if _len <= _range: speed = zombie.speed direction = norm(dx, dy) zombie.positon = x + direction[0] * speed, y + direction[1] * speed
首先,不能回答你所有的问题,因为没有足够的信息。它到底是怎么工作的?在
其次,如果你想让僵尸跟随,你需要他们的坐标来与玩家会合,所以你需要这样的东西:
if playerx > zombiex: zombiex = zombiex + max(zombiespeed, playerx - zombiex) elif playerx < zombiex: zombiex = zombiex - max(zombiespeed, zombiex - playerx)
注意:
2
zombiespeed
max()
y
也许这就是你要找的。在
首先,不能回答你所有的问题,因为没有足够的信息。它到底是怎么工作的?在
其次,如果你想让僵尸跟随,你需要他们的坐标来与玩家会合,所以你需要这样的东西:
注意:
2
替换为您在别处定义的zombiespeed
,这样您就可以在一个地方为将来更改速度。在max()
来确保僵尸在离玩家很近的时候不会从玩家身边移动。在y
方向,你也会做同样的事情。在相关问题 更多 >
编程相关推荐