0
От «для стены в стенах» и далее все «я» в красном подчеркнуто?Почему не нравится «я»?
class Player(object):
def __init__(self):
self.rect = pygame.Rect(x,y,16,16)
def move(self, dx, dy):
if dx != 0:
self.move_dir(dx, 0)
if dy != 0:
self.move_dir(0, dy)
def move_dir(self, dx, dy):
self.rect.x = self.rect.x + dx
self.rect.y = self.rect.y + dy
#^it accepts all of this...
# but none of the following...
for wall in walls:
if self.rect.colliderect(wall.rect):
if dx > 0:
self.rect.right = wall.rect.left
if dx < 0:
self.rect.left = wall.rect.right
if dy > 0:
self.rect.bottom = wall.rect.top
if dy < 0:
self.rect.top = wall.rect.bottom
for spike in spikes:
if self.rect.colliderect(spike.rect):
self.rect.x = 16
self.rect.y = 16
if player.rect.colliderect(portal_rect):
self.rect.x = 528
self.rect.y = 144
if player.rect.colliderect(portal_rect1):
self.rect.x = 176
self.rect.y = 208
не связаны, но он также имеет проблемы с portal_rect
- вторая часть в определении вашего класса? 'self' определяется только внутри определения класса –
Это фактический отступ? Вставка обычного текста в середине действительно не помогает очистить это ... – jonrsharpe
, пожалуйста, напишите один код, который демонстрирует проблему ... не разбивайте его на куски, он должен быть небольшим. как бы то ни было, я бы предположил, что ваш отступ сломан ... –