按键系统PyGame

时间:2015-08-31 01:23:44

标签: python-3.x 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()

1 个答案:

答案 0 :(得分: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)

对于Pong来说,这是 ok ,但我仍然不会像这样写我的游戏。因此,如果您真的想要改进代码,请阅读一些教程并尝试CodeReview