2015-08-31 114 views
-1

我正在製作一款基本的pong遊戲,並且想要製作一個系統,按下按鈕可以讓遊戲杆上升或下降。我對PyGame相當陌生,至今爲止我的代碼。按鍵系統PyGame

import pygame, sys 
from pygame.locals import* 
def Pong(): 
pygame.init() 
DISPLAY=pygame.display.set_mode((600,400),0,32) 
pygame.display.set_caption("Pong") 
BLACK=(0,0,0) 
WHITE=(255,255,255) 
RED=(255,0,0) 
DISPLAY.fill(BLACK) 
while True: 
    def P(b): 
    pygame.draw.rect(DISPLAY,WHITE,(50,b,50,10)) 
    xx=150 
    P(xx) 
    for event in pygame.event.get(): 
    if event.type==KEYUP and event.key==K_W: 
    P(xx+10) 
    xx=xx+10 
    pygame.display.update() 
    elif event.type==QUIT: 
    pygame.quit() 
    sys.exit() 
+0

那麼你的確切問題在哪裏,你需要幫助? – sloth

回答

2

read一些教程和/或docs。這是非常基本的,如果你沒有做到這一點,它會在稍後咬你。

不管怎麼說,這是它的可看:

import pygame 

pygame.init() 

DISPLAY = pygame.display.set_mode((600,400)) 

paddle = pygame.Rect(0, 0, 10, 50) 
paddle.midleft = DISPLAY.get_rect().midleft 

speed = 10 

clock = pygame.time.Clock() 
while True: 
    for event in pygame.event.get(): 
     if event.type == pygame.QUIT: 
      raise SystemExit(0) 

    keystate = pygame.key.get_pressed() 
    dy = keystate[pygame.K_s] - keystate[pygame.K_w] 
    paddle.move_ip(0, dy * speed) 

    DISPLAY.fill(pygame.Color("black")) 
    pygame.draw.rect(DISPLAY, pygame.Color("white"), paddle) 
    pygame.display.update() 

    clock.tick(30) 

這是傍確定但我仍然不會寫我這樣的比賽。所以請閱讀一些教程,如果你真的想改善你的代碼,可以試試CodeReview

+1

我並不是經常在pygame標籤中提出一個答案,但是這個方法確實正確。 – sloth

+0

感謝您的解釋,你知道任何優秀的教程網站,因爲我還是這個新手 –

+0

@RutvikMarathe [如何移動圖片?](http://www.pygame.org/docs/tut/MoveIt。 html),[黑猩猩教程,逐行](http://www.pygame.org/docs/tut/chimp/ChimpLineByLine.html),[Sprite模塊介紹](http://www.pygame.org/docs /tut/SpriteIntro.html),[新手指南](http://www.pygame.org/docs/tut/newbieguide.html)。我發現這些特別有用。 –