0

別のクラスを介して 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を使ってからしばらく経ちましたが、おそらく簡単に修正できるものがいくつか欠けているだけです。

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 に答える