你如何使图像在 Pygame 中移动?

时间:2021-03-23 07:31:45

标签: python pygame

我有这个代码:

plaxer = 20
player = 300
vel = 5
res = (720,720)
thistle = (216,191,216)
plum = (221,160,221)
screen = pygame.display.set_mode(res) 
color = (255,255,255) 
color_light = (255,0,0) 
color_dark = (200,0,0) 
red = (128, 0, 128) 
reder = (31,0,31) 
    
width = screen.get_width() 
height = screen.get_height() 
      
smallfont = pygame.font.SysFont('Corbel',35) 
text = smallfont.render('Exit ' , True , color) 
small = pygame.font.SysFont('Corbel',22) 
texta = small.render('Customise Avatar ' , True , color)
screen.fill((0,0,255)) 
img1 = pygame.image.load("C:\\Users\\Path\\To\\Brown.png")
screen.blit(img1,(plaxer, player))
runs = True
    
while runs: 
    mouse = pygame.mouse.get_pos()
    for ev in pygame.event.get():
        keys = pygame.key.get_pressed()  
        if keys[pygame.K_a]:
            plaxer =+ 0
            screen.fill((0,0,255))
            screen.blit(img1, (plaxer, player))

问题是精灵不能正确移动 - 它移动得太机械化了。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您必须在应用程序循环中绘制播放器并更新显示:

while runs: 
    mouse = pygame.mouse.get_pos()
    for ev in pygame.event.get():
        if ev.type == pygame.QUIT:
            runs = False

    keys = pygame.key.get_pressed()  
    if keys[pygame.K_a]:
        plaxer += 1

    screen.fill((0,0,255))
    screen.blit(img1, (plaxer, player))
    pygame.display.update()

典型的 PyGame 应用程序循环必须:

相关问题