博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pygame绘制简单游戏——壁球(操控型,键盘事件)
阅读量:3958 次
发布时间:2019-05-24

本文共 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_CTRL

import 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/

你可能感兴趣的文章
spring beans beanfactory applicationcontext
查看>>
使用ORM工具进行数据访问
查看>>
使用ORM工具进行数据访问
查看>>
编译与部署Eclipse+Tomcat+MySQL+Liferay4.1.2
查看>>
POJ3728,The merchant(倍增LCA+分治)
查看>>
2019 ICPC Malaysia National,E. Optimal Slots(01背包变形)
查看>>
洛谷P1638 逛画展(双向队列)
查看>>
POJ2892,Tunnel Warfare(线段树维护连续区间)
查看>>
POJ3468,A Simple Problem with Integers(线段树-区间查询-区间更新)
查看>>
杭电ACM——6463(思维)
查看>>
杭电ACM——1061,Rightmost Digit(思维)
查看>>
杭电ACM——1087,Super Jumping! Jumping! Jumping!(DP)
查看>>
杭电ACM——fatmouse's speed(DP)
查看>>
杭电ACM——毛毛虫(DP)
查看>>
杭电ACM——humble numbers(DP)
查看>>
杭电ACM——6467,简单数学题(思维)
查看>>
杭电ACM——天上掉馅饼(DP)
查看>>
杭电ACM——1086,You can Solve a Geometry Problem too(思维)
查看>>
杭电ACM——2057,A + B Again(思维)
查看>>
codeforces——1097B,Petr and a Combination Lock(搜索)
查看>>