无法将pygame collidepoint与其他类一起使用

时间:2013-09-24 11:48:05

标签: python pygame

我通过另一个类使用Pygame的collidepoint方法遇到了一些问题:

if(mouseclick[0]):
    for tile in self.engine.level.levellist:
        if tile.collidepoint(mousepos):

这个简单易用的代码给了我一个错误:

if tile.collidepoint(mousepos):

AttributeError: TileClass instance has no attribute 'collidepoint'

任何人都知道我做错了什么?我使用python已经有一段时间了,我可能只是错过了一些容易修复的内容。

1 个答案:

答案 0 :(得分:3)

collidepointRect类的方法。

您的TileClass没有collidepoint(这是错误告诉您的内容),但如果它具有rect属性(因为Sprites需要这个属性), '代码应该看起来像:

if(mouseclick[0]):
    for tile in self.engine.level.levellist:
        if tile.rect.collidepoint(mousepos):

但是你没有展示你的TileClass课程,所以这只是猜测。