Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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 如何查看精灵是否接触到矩形?_Python_Pygame_Sprite - Fatal编程技术网

Python 如何查看精灵是否接触到矩形?

Python 如何查看精灵是否接触到矩形?,python,pygame,sprite,Python,Pygame,Sprite,我正在使用pygame创建一个程序,我想知道是否有一个命令可以解决精灵是否接触到矩形的问题。我看到一个精灵在迷宫中移动,最后是一个矩形。矩形没有任何作用,如果精灵碰到它,他们就会赢。我知道如果雪碧触碰另一个雪碧命令,就会出现这种情况,但我不想再创建另一个雪碧。矩形的代码如下所示: pygame.draw.rect(screen, pink, [1005, 505, 19, 19]) 无法完全访问您的代码,但我认为您可以使用来执行冲突检查。此功能测试两个矩形是否重叠 colliderect()

我正在使用pygame创建一个程序,我想知道是否有一个命令可以解决精灵是否接触到矩形的问题。我看到一个精灵在迷宫中移动,最后是一个矩形。矩形没有任何作用,如果精灵碰到它,他们就会赢。我知道如果雪碧触碰另一个雪碧命令,就会出现这种情况,但我不想再创建另一个雪碧。矩形的代码如下所示:

pygame.draw.rect(screen, pink, [1005, 505, 19, 19])

无法完全访问您的代码,但我认为您可以使用来执行冲突检查。此功能测试两个矩形是否重叠

colliderect()
碰撞矩形(矩形)->bool

如果任一矩形的任何部分重叠(除 顶部+底部或左+右边缘)

最简单的例子:

your_sprite.get_rect().colliderect(your_goal_rect)

无法完全访问您的代码,但我认为您可以使用来执行冲突检查。此功能测试两个矩形是否重叠

colliderect()
碰撞矩形(矩形)->bool

如果任一矩形的任何部分重叠(除 顶部+底部或左+右边缘)

最简单的例子:

your_sprite.get_rect().colliderect(your_goal_rect)

这看起来更像是针对这个特定场景的一种解决方案,其中彩色像素位于矩形内。这是理想的结果,不是吗?我遗漏了什么吗?在本例中,就是在矩形内的彩色像素。这就是变通办法奏效的原因。@DanielF:但这是对OP意图的有效解释。基于这个标题,我希望必须测试任何偏离的像素——这需要更多的代码才能有效运行(因为我估计暴力方法不能很好地扩展)。这个标题确实有点误导。一旦OP澄清了它,我们就可以更新标题。这看起来更像是针对这个特定场景的一种解决方法,其中彩色像素位于矩形内。这是理想的结果,不是吗?我遗漏了什么吗?在本例中,就是在矩形内的彩色像素。这就是变通办法奏效的原因。@DanielF:但这是对OP意图的有效解释。基于这个标题,我希望必须测试任何偏离的像素——这需要更多的代码才能有效运行(因为我估计暴力方法不能很好地扩展)。这个标题确实有点误导。OP澄清后,我们可以更新标题。@usr2564301矩形的颜色无关紧要。(我将改变问题)很难给你建议,因为我们看不到你的代码。请阅读并将您的代码添加到问题中。@usr2564301矩形的颜色无关紧要。(我将改变问题)很难给你建议,因为我们看不到你的代码。请阅读并在问题中添加您的代码。