我通过另一个类使用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已经有一段时间了,我可能只是错过了一些容易修复的内容。
答案 0 :(得分:3)
collidepoint
是Rect
类的方法。
您的TileClass
没有collidepoint
(这是错误告诉您的内容),但如果它具有rect
属性(因为Sprites
需要这个属性), '代码应该看起来像:
if(mouseclick[0]):
for tile in self.engine.level.levellist:
if tile.rect.collidepoint(mousepos):
但是你没有展示你的TileClass
课程,所以这只是猜测。