Python NameError: name '_key_dawn_events' is not defined, хотя метод существет

import pygame
import sys
from settings import Settings
from ship import Ship
class MyGame():
    def __init__(self):
        pygame.init()
        self.settings = Settings()
        self.screen = pygame.display.set_mode((self.settings.screen_width, self.settings.screen_height))
        self.ship = Ship(self)
    def run_game(self):
        while True:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    sys.exit()
                elif event.type == pygame.KEYDOWN:
                    _key_dawn_events(event)
                elif event.type == pygame.KEYUP:
                    _key_up_events(event)
            self.ship.update()
            self.ship.draw_ship()
            pygame.display.flip()

    def _key_dawn_events(self, event):
        if event.key == pygame.K_UP:
            self.ship.moveup = True

    def _key_up_events(self, event):
        if event.key == pygame.K_UP:
            self.ship.moveup = False


game = MyGame()
game.run_game()

Ответы (1 шт):

Автор решения: Yaroslav Fyodorov

При ображении к методам/полям объекта, необходимо использовать self Т.е.

elif event.type == pygame.KEYDOWN:
                self._key_dawn_events(event)

и т.д.

→ Ссылка