这样写就十分灵活了
就是每个按键添加了一个k变量来检测按键是否被按着。
每一对儿方向相对的按键加了一个f变量来记录两个按键谁最后按下的。
speed=[x,y]
for event in pygame.event.get():
if event.type==pygame.QUIT:
sys.exit()
if event.type==KEYUP:
if event.key==K_a:
ka=False
fr=False
if event.key==K_d:
kd=False
fr=True
if event.key==K_w:
kw=False
fu=False
if event.key==K_s:
ks=False
fu=True
if event.type==KEYDOWN:
if event.key==K_a:
fr=True
ka=True
if event.key==K_d:
fr=False
kd=True
if event.key==K_w:
fu=True
kw=True
if event.key==K_s:
fu=False
ks=True
if ka==True and fr==True:
x=-1
if kd==True and fr==False:
x=1
if kw==True and fu==True:
y=-1
if ks==True and fu==False:
y=1
if ka==False and kd==False:
x=0
if kw==False and ks==False:
y=0