如何在pygame中定义一个比图像小的rect碰撞检测?
我想有一个碰撞模式像第二个图像,但我有一个切割图像时,尝试设置宽度和高度在方法rect。在
当我尝试使用图像大小设置时,碰撞检测显示为红色
self.rect = pygame.rect.Rect(location, self.image.get_size())
如果我用宽度和高度来设置大小,我只得到第三张图像
^{pr2}$
我真的不喜欢使用像素完美的碰撞,因为它是最慢的碰撞检测,所以有人知道如何使用Rect实现第二种图像碰撞方法?谢谢。在
Tags:
试着画一个全新的矩形,与图像后面的图像分开,但是如果图像是这样的话,谁的位置会一直设置为这个位置。在
似乎您正在使用
sprite
模块中内置的pygames。(如果我错了,请纠正我)您可能知道每个精灵都由一个
image
组成(绘制在一个曲面上)和一个rect
对象(设置位置和大小(!)在image
中)。在正如Luke Taylor建议的那样,您可以在您的
player
类中创建一个新的rect
对象…并将其位置(根据图形)设置为
^{pr2}$每次你改变
player
的位置,你也必须调用这一行,所以你的self.collideRect
矩形对象在屏幕上随着你的player
移动“。在要测试某个点(例如鼠标坐标)是否在
self.collideRect
内,请调用相关问题 更多 >
编程相关推荐