好的,这是我当前的程序:
bif="bg.jpg"
mif="pkmn.png"
import pygame
import sys
from pygame.locals import *
pygame.init()
screen=pygame.display.set_mode ((600,375),0,32)
background=pygame.image.load(bif).convert()
mouse_c=pygame.image.load(mif).convert_alpha()
x,y=0,0
movex, movey=0,0
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
if event.type==KEYDOWN:
if event.key==K_LEFT:
movex=-1
elif event.key==K_RIGHT:
movex=+1
elif event.key==K_UP:
movey=-1
elif event.key==K_DOWN:
movey=+1
if event.type==KEYUP:
if event.key==K_LEFT:
movex=0
elif event.key==K_RIGHT:
movex=0
elif event.key==K_UP:
movey=0
elif event.key==K_DOWN:
movey=0
x+=movex
y+=movey
screen.blit(background,(0,0))
screen.blit(mouse_c,(x,y))
pygame.display.update()
问题是,即使我可以向各个方向移动,例如,当我按下右箭头键时,它会向右移动,然后如果我一直按住右箭头键并按住左箭头键,它会向左移动,问题是这样的:当我放开右键时,即使我要向左走,我的精灵也会停止。
我知道问题是当释放右或左时,x 变为 0
我希望能够按住右边然后向右走,然后按住左边然后再往左走,然后松开左边然后向右走,因为我一直在右边
我希望我解释了自己,我已经尝试了所有方法并到处搜索,请帮助我,如果有人可以修改我的代码并将其展示给我以便我可以分析它,那就太好了。
谢谢