0

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

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 以来已经有一段时间了,我可能只是错过了一些容易修复的东西。

4

1 回答 1

3

collidepointRect类的方法。

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

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

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

于 2013-09-24T12:24:56.613 回答