私はゲームを作っています。プレイヤーとブロックの衝突をチェックし、必要ならプレイヤーをプッシュバックしたいと思います。プレイヤーとブロックのゲームの衝突
def collide(self,player):
if self.solid:
if self.rect.colliderect(player.rect):
if self.rect.bottom-1 <= player.rect.top and player.pos == 'up':
player.up = 0
player.rect.move(0,1)
if self.rect.top+1 >= player.rect.bottom and player.pos == 'down':
player.down = 0
player.rect.move_ip(0,-1)
if self.rect.left+1 <= player.rect.right and player.pos == 'right':
player.right = 0
player.rect.move_ip(-1,0)
if self.rect.right-1 >= player.rect.left and player.pos == 'left':
player.left = 0
player.rect.move_ip(1,0)
しかし、何らかの理由で動作しません。誰か助けてくれますか?これはObstacle
クラスのいくつかの種類の方法である場合には、事前
これはクラスメソッドで、あなたは間違った場所に 'self'を置いていますか、あるいは単に' self'という第2引数を呼び出しましたか?メソッドは通常、Pythonでは小文字で、btwです。 –
ありがとう、私はそれを修正しました。はい、これはクラスメソッドです。 – n3gative