При обновлении экрана персонаж не движется
import pygame
class player:
def __init__(self,x,y,win):
self.x = x
self.y = y
self.win = win
self.left = False
self.right = False
def draw(self):
if self.left == True:
self.win.blit(self.x,self.y)
self.y - 1
class Game:
def __init__(self,width,height,bg):
self.width = width
self.height = height
self.bg = bg
def run(self):
game_run = True
pygame.init()
Bg = pygame.image.load(self.bg)
screen = pygame.display.set_mode([self.width,self.height])
fps = 30
p = pygame.image.load('assets/SteamMan.png')
clock = pygame.time.Clock()
pygame.display.set_caption('Новое окно')
while game_run:
clock.tick(fps)
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_run = False
screen.fill((255, 255, 255))
screen.blit(Bg,(0,0))
screen.blit(p, (1, 1))
player.draw()
pygame.display.flip()
pygame.quit()
player = player(10,10,"screen")
Game = Game(1000,1000,"assets/single_background.png")
Game.run()
#def redrawGameWindow():
# win.blit(bg, (0, 0))
# man.draw(win)
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Так с переменной ничего не произойдёт, просто вычислится выражение self.y - 1 и результат его никуда не запишется:
self.y - 1
Видимо, имелось в виду уменьшение переменной self.y на единицу:
self.y -= 1