Форум сайта python.su
Выскакивает вот эта ошибка —- File “C:\Game\main.py”, line 31, in <module>
background.update()
TypeError: Background.update() missing 1 required positional argument: ‘self’
Как исправить?
import pygame import background as bg from hero import Hero pygame.init() #создаём название игры pygame.display.set_caption('Underwater Adventure') #создаём экран screen = pygame.display.set_mode((1000, 800)) #создаём персонажа hero = Hero(screen) #создание фпс игры FPS = pygame.time.Clock() #загрузка фон а игры background = bg.Background #цикл игры while True: for event in pygame.event.get(): if event.type == pygame.QUIT: exit() background.update() background.render(screen) hero.update() pygame.display.update() FPS.tick(60)
import pygame class Background(): def __init__(self): self.image = pygame.transform.scale(pygame.image.load('image/background/bg.jpg').convert(), (1920, 800)) self.rect = self.image.get_rect() self.mv_speed = 3 self.bgx1 = 0 self.bgx2 = self.rect.width self.bgy1 = 0 self.bgy2 = 0 def update(self): self.bgx1 -= self.mv_speed self.bgx2 -= self.mv_speed if self.bgx1 <= self.rect.width: self.bgx1 = self.rect.width if self.bgx2 <= self.rect.width: self.bgx2 = self.rect.width def render(self, screen): screen.blit(self.image, (self.bgx1, self.bgy1)) screen.blit(self.image, (self.bgx2, self.bgy2))
Отредактировано KasumiKudo (Авг. 1, 2023 19:39:29)
Офлайн
[code python]код в этих тегах выкладывай, чтобы отступы были[/code]
Офлайн
xam1816после того, как я поместил в теги у меня слова перевелись на русский, или это только у меня?
Офлайн
background = bg.Background
Офлайн
xam1816Спасибо, не заметил)
Офлайн