本文共 1762 字,大约阅读时间需要 5 分钟。
壁球v1.3 操控型
新增代码elif event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT: #。。。 elif event.key == pygame.K_RIGHT: #。。。 elif event.key == pygame.K_UP: #。。。 elif event.key == pygame.K_DOWN: #。。。
新增了键盘事件
pygame.event.KEYDOWN #键盘按下事件pygame.event.KEYUP #键盘释放事件
KEYDOWN:返回event.unicode,即按键的unicode码,event.key 按键的常量名称,event.mod 修饰符的组合值 ,该unicode码与平台有关
event.mod : KMOD_SHIFT KMOD_ALT KMOD_CTRLimport pygame, syspygame.init()size = width, height = 600, 400speed = [1, 1]BLACK = 0, 0, 0screen = pygame.display.set_mode(size)pygame.display.set_caption("Pygame壁球")ball = pygame.image.load("F:\python\壁球项目\image\球.png")ballrect = ball.get_rect()fps = 300fclock = pygame.time.Clock()while True: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() elif event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT: speed[0] = speed[0] if speed[0] == 0 else (abs(speed[0]) - 1) * int(speed[0] / abs(speed[0])) elif event.key == pygame.K_RIGHT: speed[0] = speed[0] + 1 if speed[0] > 0 else speed[0] - 1 elif event.key == pygame.K_UP: speed[1] = speed[1] + 1 if speed[1] > 0 else speed[1] - 1 elif event.key == pygame.K_DOWN: speed[1] = speed[1] if speed[1] == 0 else (abs(speed[1]) - 1) * int(speed[1] / abs(speed[1])) ballrect = ballrect.move(speed) if ballrect.left < 0 or ballrect.right > width: speed[0] = - speed[0] if ballrect.top < 0 or ballrect.bottom > height: speed[1] = - speed[1] screen.fill(BLACK) screen.blit(ball, ballrect) pygame.display.update() fclock.tick(fps)
转载地址:http://gtmzi.baihongyu.com/