2013-09-24 38 views
0

我有一些问题,使用pygame的的collidepoint方法通过其他类:无法使用pygames 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,我可能只是缺少一些容易修复。

+0

定义了“TileClass”的位置?你只是没有给它一个“碰撞点”属性。 – Veedrac

回答

3

collidepointRect类的一种方法。

TileClass没有collidepoint(这是什么错误告诉你),但如果它有一个rect属性(因为这是需要Sprites),你的代码也许应该是这样的:

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

但你没有显示你的TileClass班,所以这只是一个猜测。

+0

哈哈,哇,它的工作非常完美:)感谢您的帮助! –