Skip to main content
 首页 » 编程设计

python之如何使用 sprite 表中的多个图像创建行走角色

2025年05月04日7zdz8207

我想创建“错觉”,可以说我的角色正在行走,使用来自一张具有多个 Sprite 位置的多个图像。我只知道如何使用 WASD 移动单个图像。到目前为止,这是我的代码:

room_bg = 'woodf.jpg'#wood floor background 
screen = pygame.display.set_mode((640,360),0,32) 
 
background = pygame.image.load(room_bg).convert()#background here 
x,y = 290,150 
movex, movey = 0,0    
while 1:#blitting background to middle of screen, start of main game loop 
    screen.blit(background, (170,100)) 
    for event in pygame.event.get(): 
        if event.type == QUIT: 
        pygame.quit() 
        sys.exit() 
 
    if event.type == KEYDOWN: 
        if event.key == K_a: 
            movex = -1 
            pygame.image.load('s_left1.png') 
            pygame.Surface.blit(mc_left1) 
        elif event.key == K_d: 
            movex = +1 
        elif event.key == K_w: 
            movey = -1 
        elif event.key == K_s: 
            movey = +1 
    if event.type == KEYUP: 
        if event.key == K_a: 
            movex = 0 
        elif event.key == K_d: 
            movex = 0 
        elif event.key == K_w: 
            movey = 0 
        elif event.key == K_s: 
            movey = 0 
 
x+= movex 
y+= movey 
 
mc = pygame.image.load('ss.png').convert() 
mc.set_colorkey((0,0,0)) 
screen.blit(mc,(x,y)) 
pygame.display.update() 

请您参考如下方法:

您首先要从 sprite 表中提取单个 sprite,然后您要使用,例如,迭代器在每次调用中将它们提供给绘图方法。

Here you have a tutorial关于如何从 sprite 表中获取单个图像以及如何将它们用于动画。