首先,利用python来做游戏需要用到python中的pygame模块,这个我们在终端cmd中安装输入:pip install pygame 安装好后我们进入pycharm查询我们有的模块(打开路径:文件-设置)
可以看到我们软件包中有pygame,安装好后我们在python中输入
然后我们开始搭建场景
然后运行一下
接下来我们导入人物这部分,在调用模块中导入pygame.locals模块(这个模块的作用是使用各种常量,人物行走就会用到)
在while循环中添加检测鼠标和键盘事件
运行如下
我们现在做人物的相关参数,新建个python文件 名为plane
然后我们回到zhuyemian文件中,调用模块的地方中输入调用plane文件
回到 def start(): 中创建一个人物对象
我们运行看看
完美实现人物移动
-
#创建人物对象
-
hero_plane = HeroPlane(screen)
-
然后我们在while键盘参数中对接我们人物的各个参数
-
# 循环每个事件
while True:
screen.blit(background, (0, 0))
# 这个不用管,功能为刷新页面
pygame.display.update()
#连接plane(新添加)
hero_plane.display()
# 判断是否退出
for event in pygame.event.get():
if event.type == QUIT:
print("exit")
exit()
elif event.type == KEYDOWN:
keys_pressed = pygame.key.get_pressed()
# 调用键盘,其中K_a中的a可以为任何数(看个人喜好)而后面的left为向左移动
if event.key == K_a or event.key == K_LEFT:
print('left')
#(新添加)
hero_plane.move_left()
# 一样
elif event.key == K_d or event.key == K_RIGHT:
print('right')
#(新添加)
hero_plane.move_right()
elif event.key == K_w or event.key == K_UP:
print('up')
#(新添加)
hero_plane.move_up()
elif event.key == K_s or event.key == K_DOWN:
print('down')
#(新添加)
hero_plane.move_down()
# 这个为射击参数,对接玩家子弹参数
elif event.key == K_j:
print('j')
#(新添加)
pygame.display.update() -
运行的时候会有人物闪烁的问题
-
导入import time 然后再def start 中添加clock = pygame.time.Clock()
-
再在while循环中添加刷新帧率
-
#刷新帧率 60 为60帧
-
clock.tick(60)