游戏项目学习

pygame安装命令
sudo pip3 install pygame
验证是否安装成功
python3 -m pygame.examlpes.aliens

游戏的初始化和退出
1)pygame.init() ,导入并初始化所有的pygame模块,使用其他模块之前,必须先调用init方法
2)pygame.quit(),卸载所有pygame模块,在游戏结束之前调用

游戏中的坐标系
1)原点 在 左上角(0,0)
2)x轴 水平方向向右 逐渐增加
2)y轴 垂直方向向下 逐渐增加
在游戏中,所有可见的元素 都是以 矩形区域 来描述位置的
要描述一个矩形区域有四个要素:(x,y)(width,height)
pygame专门提供了一个类pygame.Rect 用于描述矩形区域
Rect(x,y,width,height)-> Rect
pygame.Rect 是一个比较特殊的类,内部只是封装了一些数字计算
不执行pygame.init()方法同样能够直接使用

创建游戏主窗口
pygame专门提供一个模块pygame.display用于创建、管理 游戏窗口
set_mode方法
set_mode(resolution=(0,0), flags=0, depth=0),创建游戏显示窗口
resolution指定屏幕的宽和高,默认创建窗口大小和屏幕大小一致
flags 参数指定屏幕的附加选项,例如是否全屏等等,默认不需要传递
depth参数表示颜色的位数,默认自动匹配
返回值:暂时可以理解为 游戏的屏幕,游戏的元素都需要被绘制到游戏的屏幕上
必须使用变量记录set_mode方法的返回结果,因为后续所有的图像绘制都基于这个返回结果
screen=pygame.display.set_mode((480,700))
while True:
pass
为了做到程序启动后,不会立即退出,通常会在游戏程序中增加一个游戏循环,所谓游戏循环就是一个无限循环,在创建游戏窗口代码下方,增加一个无限循环(游戏窗口不需要重复创建)

绘制背景图片的步骤:
1)使用pygame.image.load()加载图像数据
2)使用游戏屏幕对象,调用blit方法将图像绘制到指定的位置
3)调用pygame.display.update()方法更新整个屏幕的显示
提示:可以在screen对象完成所有的blit方法后,统一调用一次display.update方法,同样可以在屏幕上看到最终的绘制结果
每次的绘制结果被称为帧Frame(即每调用完一次update的方法的结果就是帧),一般在电脑上每秒绘制60次,就能够达到非常连续高品质的动画效果。
在这里插入图片描述
游戏时钟
pygame专门提供了一个类pygame.time.Clock 可以非常方便的设置屏幕绘制速度——刷新帧率
要使用时钟对象需要两步:
1)在游戏初始化时,创建一个时钟对象
2)在游戏循环中 让时钟对象调用tick(帧率)方法
tick方法会根据上次被调用的时间,自动设置游戏循环中的延时

在游戏循环中 监听 事件
事件 event
就是游戏启动后,用户针对游戏所做的操作。例如:点击关闭按钮,点击鼠标,按下键盘。。。
监听
在游戏循环中,判断用户的具体操作,只有捕获到用户的具体操作,才能有针对性做出响应
代码实现
pygame中通过pygame.event.get() 可以获得用户当前所做动作的事件列表
监听退出事件的固定代码:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值