Я просто пишу фиктивный код для pygame.
Первый пример кода имеет функцию в файле menus.py.Я хотел попрактиковаться в использовании импорта.Это отлично работает.Затем я хотел поместить функцию в класс, чтобы я мог приступить к работе с классами.Это второй блок кода.К сожалению, второй блок кода не запускается.Может кто-нибудь объяснить, где я иду не так, пожалуйста.
# menus.py
def color_switcher(counter, screen):
black = ( 0, 0, 0)
white = (255, 255, 255)
green = (0, 255, 0)
red = (255, 0, 0)
colors = [black, white, green, red]
screen.fill(colors[counter])
# game.py
#stuff
if event.type == pygame.MOUSEBUTTONDOWN:
menus.color_switcher(counter, screen)
#more stuff
Это прекрасно работает.
Это не
# menus.py
class Menu:
def color_switcher(self, counter, screen):
black = ( 0, 0, 0)
white = (255, 255, 255)
green = (0, 255, 0)
red = (255, 0, 0)
colors = [black, white, green, red]
screen.fill(colors[counter])
# game.py
#stuff
if event.type == pygame.MOUSEBUTTONDOWN:
menus.Menu.color_switcher(counter, screen)
#more stuff
#TypeError: unbound method color_switcher() must be called with Menu instance as first argument (got int instance instead)
Может кто-то сказать мне, что я делаюне так с классом, пожалуйста?