小编zzo*_*oop的帖子

Pygame三角学:跟斜边?

Enemy班上有一个叫做的方法huntPlayer.它需要一个玩家对象p.这里是:

def huntPlayer(self, p):   
  if self.dist2p < 200:
    self.hunting = True
    if p.x > self.rect.x:
      self.rect.x += self.speed #this is a constant at value 1
    elif p.x < self.rect.x:
      self.rect.x -= self.speed
    else:
      self.rect.x += 0
    if p.y > self.rect.y:
      self.rect.y += self.speed
    elif p.y < self.rect.y:
      self.rect.y -= self.speed 
    else:
      self.rect.y += 0
  else:
    self.rect.x += 0
    self.rect.y += 0
Run Code Online (Sandbox Code Playgroud)

敌人随机放置在一个2d俯卧平原周围,他们随机漫游这个平原.我已经计算出这是最短的距离到播放器=斜边Enemy.dist2p-当dist2p值<200的敌人将朝向玩家移动,p.xp.y分别.

我上面的解决方案很粗糙,因此我的问题是敌人在x或y轴上同样移动1个位置,导致每个轴的对角线移动,然后沿着轴滑动直到它到达玩家.(播放器位于中心屏幕附近的固定位置.)

你能帮助我修复huntPlayer方法/算法,让敌人跟随玩家的斜边路径,而不是x/y轴的最快路径吗? …

python pygame trigonometry

2
推荐指数
1
解决办法
450
查看次数

标签 统计

pygame ×1

python ×1

trigonometry ×1