我是pygame的新手,並且正在製作遊戲。我有一個角色,我正在努力讓雙腿移動。有2張圖片,如何讓他們切換? 人物是藍色精靈。誰能幫忙?謝謝大家如何動畫一個pygame角色走路,當我點擊移動
import pygame
import time
time_start = time.time()
seconds = 0
pygame.init()
time = pygame.time.get_ticks()
timeStep = 1000
display_width = 1500
display_height = 750
originx = 0
originy = 0
gameDisplay = pygame.display.set_mode((display_width,display_height))
pygame.display.set_caption('Game')
black = (0,0,0)
white = (255,255,255)
dollarBill = pygame.image.load('DollarBill.png')
clock = pygame.time.Clock()
killed = False
manImg = pygame.image.load('Wizard1Front.png')
manImgt = pygame.image.load('Wizard1Front.png')
wfo = True
def dollarbill(dx,dy):
gameDisplay.blit(dollarBill, (dx,dy))
def blueWizard(x,y):
if wfo == True:
gameDisplay.blit(manImg, (x,y))
else:
gameDisplay.blit(manImgt, (x,y))
x = (display_width * 0.45)
y = (display_height * 0.8)
dx = (display_width * 0.45)
dy = (display_height * 0.8)
#key response
key_left = False
key_right = False
key_up = False
key_down = False
right_ctrl = False
ctrl_left = False
ctrl_right = False
ctrl_up = False
ctrl_down = False
while not killed:
for event in pygame.event.get():
if event.type == pygame.QUIT:
crashed = True
pygame.quit()
quit()
############################
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
key_left = True
ctrl_left = True
elif event.key == pygame.K_RIGHT:
key_right = True
ctrl_right = True
elif event.key == pygame.K_UP:
key_up = True
ctrl_up = True
elif event.key == pygame.K_DOWN:
key_down = True
ctrl_down = True
elif event.key == pygame.K_RCTRL:
right_ctrl = True
if event.type == pygame.KEYUP:
if event.key == pygame.K_LEFT:
key_left = False
ctrl_left = False
if event.key == pygame.K_RIGHT:
key_right = False
ctrl_right = False
if event.key == pygame.K_UP:
key_up = False
ctrl_up = False
if event.key == pygame.K_DOWN:
key_down = False
ctrl_down = False
######################
##what the keys do
if key_right == True and x < (display_width - 74):
x += 2.5
if key_left == True and x > 0:
x += -2.5
if key_up == True and y > 0:
y += -2.5
if key_down == True and y < (display_height - 113):
y += 2.5
if right_ctrl == True:
dx += 20
if ctrl_left == True:
dx += -2.5
if ctrl_right == True:
dx += 2.5
if ctrl_up == True:
dy += -2.5
if ctrl_down == True:
dy += 2.5
##extra logic
if dx > (display_width) or dy > (display_height):
dx = x
dy = y
right_ctrl = False
if dx < (originx) or dy < (originy):
dx = x
dy = y
right_ctrl = False
gameDisplay.fill(black)
blueWizard(x,y)
dollarbill(dx,dy)
pygame.display.update()
clock.tick(60)
pygame.quit()
quit()