Я делаю игру, и я хочу проверить столкновение между игроком и блоком и нажать обратно игрока, если это необходимо.Pygame столкновение между игроком и блоком
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)
но по некоторым причинам не работает. Кто-нибудь может мне помочь? Заранее спасибо
Является ли это методом класса, и вы положили 'self' в неправильное место, или вы просто вызвали второй аргумент' self'? Методы обычно строчные в Python, кстати. –
Спасибо, я исправил его. Да, это метод класса. – n3gative