码迷,mamicode.com
首页 > 编程语言 > 详细

python(pygame)滑稽大战(类似飞机大战) 教程

时间:2019-04-20 09:19:09      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:display   投稿   文件内容   简单的   date   ini   bsp   pytho   创建   

 基于pygame实现类似飞机大战小游戏(滑稽大战)

成品已录制视频投稿B站,点击观看动画

项目稽忽悠不(github)地址(目前只上传了素材,代码还在整理中):
https://github.com/BigShuang/From-simple-to-Huaji
本文首发于本人简书

技术图片

初始准备工作

  • 本项目使用的python3版本(如果你用python2,我不知会怎么样)
  • Ide推荐大家选择pycharm(不同ide应该没影响)
  • 需要安装第三方库pygame,

pygame安装方法(windows电脑,mac系统本人实测与pygame不兼容,强行运行本项目卡成ppt)

电脑打开cmd命令窗口,输入

pip3 install pygame

补充说明:
由于众所周知的原因,安装过程中下载可能十分缓慢,甚至由此导致安装失败
此时建议大家尝试使用镜像下载

---国内源---
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学: https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/ 
豆瓣:http://pypi.douban.com/simple/

使用办法 pip install xxxx -i jinxiangurl
具体到pygame,则是:pip install pygame - i https://pypi.tuna.tsinghua.edu.cn/simple

一、实现基础窗口

0 - 新建app.py文件,内容如下

import pygame

WINWIDTH = 600  # 窗口宽度
WINHEIGHT = 900  # 窗口高度

pygame.init() # pygame初始化,必须有,且必须在开头
# 创建主窗体
win=pygame.display.set_mode((WINWIDTH,WINHEIGHT))

此时运行app.py,会发现一个一闪而逝的窗口

1 - 进一步,我们自然而然的就要思考这些问题

  • 怎么维持住这个窗口?

通过while循环去实现

  • 但是简单的循环只是单纯的将界面卡住,怎么实现刷新?

在循环体内使用pygame.display.update()语句进行界面的更新

  • 循环的刷新频率不做节制的话,界面会飞速刷新导致卡死,怎么办?

pygame有专门的对象pygame.time.Clock用于去控制循环刷新的频率,创建pygame.time.Clock对象后,调用该对象的tick()方法,函数参数为每秒刷新次数,就可以设置循环每秒刷新频率,术语叫做帧率

可前往官方文档观看pygame.time.Clock的更多细节,

https://www.pygame.org/docs/ref/time.html#pygame.time.Clock

根据上面的思路,修改app.py后如下

import pygame

FPS=60 # 游戏帧率
WINWIDTH = 600  # 窗口宽度
WINHEIGHT = 900  # 窗口高度

pygame.init() # pygame初始化,必须有,且必须在开头
# 创建主窗体
clock=pygame.time.Clock() # 用于控制循环刷新频率的对象
win=pygame.display.set_mode((WINWIDTH,WINHEIGHT))

while True:
    clock.tick(FPS) # 控制循环刷新频率,每秒刷新FPS对应的值的次数
    pygame.display.update()

此时运行app.py,就可以得到一个最最最基础的窗口了,

python(pygame)滑稽大战(类似飞机大战) 教程

标签:display   投稿   文件内容   简单的   date   ini   bsp   pytho   创建   

原文地址:https://www.cnblogs.com/BigShuang/p/10739705.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!