0
所以我有這一小段代碼,它運行良好,但是當我移動角色時,無論角色在哪裏,都有它的背後的圖片。想象它拿着一支鉛筆並在一張紙上畫畫,那基本上就是它如何展現的。我不知道代碼錯在哪裏,否則它運行正常。它有任何其他方式來顯示播放器的這個問題。幫幫我?pygame播放器沒有更新
import pygame,sys,os
from pygame.locals import *
pygame.init
MOVERATE = 8
WINDOWWIDTH = 1000
WINDOWHEIGHT = 1000
def terminate():
pygame.quit()
sys.exit()
playerImage = pygame.image.load('Test_Block.png')
playerRect = playerImage.get_rect()
WHITE = (255,255,255)
WindowSurface = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT))
pygame.display.update()
WindowSurface.fill(WHITE)
mainClock = pygame.time.Clock()
pygame.display.update()
while True:
playerRect.topleft = (WINDOWWIDTH /3, WINDOWHEIGHT/3)
moveLeft = moveRight = moveUp = moveDown = False
while True:
for event in pygame.event.get():
if event.type == QUIT:
terminate()
if event.type == KEYDOWN:
if event.key == ord('a'):
moveRight = False
moveLeft = True
if event.key == ord('d'):
moveLeft = False
moveRight = True
if event.key == ord('w'):
moveDown = False
moveUp = True
if event.key == ord('s'):
moveUp = False
moveDown = True
if event.type == KEYUP:
if event.type == K_ESCAPE:
terminate()
if event.key == ord('a'):
moveLeft = False
if event.key == ord('d'):
moveRight = False
if event.key == ord('w'):
moveUp = False
if event.key == ord('s'):
moveDown = False
pygame.display.update()
if moveLeft and playerRect.left > 0:
playerRect.move_ip(-1 * MOVERATE,0)
if moveRight and playerRect.right < WINDOWWIDTH:
playerRect.move_ip(MOVERATE,0)
if moveUp and playerRect.top >0:
playerRect.move_ip(0,-1 * MOVERATE)
if moveDown and playerRect.bottom < WINDOWHEIGHT:
playerRect.move_ip(0,MOVERATE)
pygame.display.update()
WindowSurface.blit(playerImage, playerRect)
pygame.display.update()
mainClock.tick(30)
pygame.display.update()