2013-05-19 70 views
0

我正在用pygame製作一個非常簡單的遊戲來練習。我試圖讓我的「玩家」在空格鍵被按下時跳轉。這裏是我想要的循環代碼:讓玩家在Pygame中跳躍

x,y=10,300 
movex,movey=0,0 


if event.type==KEYDOWN: 
    if event.key==K_LEFT: 
     movex = -0.2 
    elif event.key==K_RIGHT: 
     movex=+0.2 
    elif event.key==K_DOWN: 
     movey=+0.2 
    elif event.key==K_SPACE: 
     movey=-0.4 
     movey=+0.4 

if event.type==KEYUP: 
     if event.key==K_LEFT: 
      movex = 0 
     elif event.key==K_RIGHT: 
      movex=0 
     elif event.key==K_DOWN: 
      movey=0 
     elif event.key==K_SPACE: 
      movey=0 


x+=movex 
y+=movey 
screen.blit(player,(x,y)) 

控件除了跳轉部分(當我按空格鍵時)工作。它就像是讓玩家滑下去。誰能告訴我爲什麼它不起作用以及如何解決它?

+0

我beleive你y軸的運動應該是你不斷應用重力...然後再與一個「地板」的方向向量界限 –

回答

1

它不能在keydown事件工作,因爲你正在做的:

movey=-0.4 
    movey=+0.4 

這到底是相當於movey=0。要解決它,你應該做的只有movey=+0.4,然後KEYUP它將恢復爲0。