Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在pygame中,如何使用vectors和rect让敌人跟随玩家?_Python_Pygame - Fatal编程技术网

Python 在pygame中,如何使用vectors和rect让敌人跟随玩家?

Python 在pygame中,如何使用vectors和rect让敌人跟随玩家?,python,pygame,Python,Pygame,类猴子(对象): definit(自身、x、y、宽度、高度): #使用列表理解为每个图像获取rect。我对每个箭头键执行4次 self.rect_Right = [img.get_rect() for img in self.walkRight] #repeat for other arrows 类敌人(对象): (基本上与具有敌人图像的玩家相同) 我遇到了两个问题。首先,由于我正在将多个图像上传到一个列表中,我不知道是否正确使用了get_rect()。我目前正在使用列表理解。如何得到r

类猴子(对象):

definit(自身、x、y、宽度、高度):

#使用列表理解为每个图像获取rect。我对每个箭头键执行4次

 self.rect_Right = [img.get_rect() for img in 
 self.walkRight] #repeat for other arrows
类敌人(对象):

(基本上与具有敌人图像的玩家相同)

我遇到了两个问题。首先,由于我正在将多个图像上传到一个列表中,我不知道是否正确使用了get_rect()。我目前正在使用列表理解。如何得到rect.x和rect。什么位置?我如何获得中心位置


第二,我不知道如何让移动到球员开始工作。我将player类传递到函数中,但我认为它无法读取rect。

能否修复代码?是的,缩进有问题。
 self.rect_Right = [img.get_rect() for img in 
 self.walkRight] #repeat for other arrows
 def move_towards_player(self, monkey):
 dirvect = pygame.math.Vector2(monkey.rect.x - self.rect.x, 
 monkey.rect.y - self.rect.y)

 dirvect.normalize()

 dirvect.scale_to_length(self.speed)

 self.rect.move_ip(dirvect)