Я пытаюсь использовать полиморфизм в моем проекте pygame, но я продолжаю получать ошибки.Python: пытается использовать полиморфизм с pygame
У меня есть класс Moveable и класс Objects, который наследуется от Moveable, и я получаю AttributeError: объект «NoneType» не имеет атрибута «ypos» в моем игровом цикле.
Я планирую иметь более подвижные объекты в своем проекте, такие как люди, дома, дорожные знаки ... если я могу заставить это работать.
class Moveable:
__name = ""
__xpos = 0
__ypos = 0
__hight = 0
__width = 0
__speed = 0
__image = 0
def __init__(self, xpos, ypos, hight, width, speed, image):
self.__xpos = xpos
self.__ypos = ypos
self.__hight = hight
self.__width = width
self.__image = image
def set_xpos(self, xpos):
self.__xpos = xpos
def get_xpos(self):
return self.__xpos
# ... and all my other getters and setters...
class Objects(Moveable):
def car(xpos, ypos, width, hight, speed, image):
pygame.Surface.blit(gameDisplay, image, [xpos, ypos, hight, width])
def game_loop():
game_exit = False #sets the game loop to false
while not game_exit: # runs the game loop until the game exit = true
car = Objects.car(random.randrange(250, 550), -400, 60, 70, 4, pygame.image.load('car.png'))
gameDisplay.blit(backGroundImg, (0, 0)) #displays the background
car.ypos += car.speed # the error is here **********
г
вау лол спасибо, не могу поверить, Я пропустил это ... у меня появилась совершенно новая ошибка (объект AttributeError: 'pygame.Rect' не имеет атрибута 'ypos'), но я должен уметь это выяснить. Спасибо! – Du6e