IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 十分钟利用python_pygame做个小游戏_01 -> 正文阅读

[游戏开发]十分钟利用python_pygame做个小游戏_01

Pygame

在做这个游戏教程之前,我想了许久,觉得到底应该怎么做这个教程,是把每一个代码给大家讲清楚,还是直接讲如何去使用,后来我想了想,我自己也学习过许多的教程,给我最大的感受就是前期讲得太多,我完全记不住,过程太过无趣,所以我才想以项目入手,让大家感受pygame的乐趣,如果想要了解更多的内容,可以自己先去pygame的使用手册去查询,后续我也会通过项目去让大家学习更多

更要说的是,每个人的编程思维都不一样,有后有坏,如果你有更好的想法可以提出来,我们一起学习

简介

Pygame 简单理解,就是可以用他来做游戏,他相当于Python的一个库,Python有许多许多的库,每个库都有自己的功能,而它的功能就是做游戏

当然pygame需要安装,最简单的方法就是利用pip安装,这个太简单,或者是利用pycharm进行安装

Pygame的实际教程:

游戏是怎么形成的,他是根据图层的切换让你有种快速刷新的感觉,认为人物在进行移动,就像我们小时候的图层书,只要你翻的够快,就能让图像真正的动起来

详情请看飞机大战的演示

?

    1. 会移动超级玛丽

真正在做一个游戏之前,我们需要做一个环节示例

?

在网上选择一张你喜欢的背景图片和一个角色图,我们开始做

窗口

例如,我的就是这样,我的代码就在py里面写,

# 1,第一步,要用这个库肯定是先导库

import pygame

# 2,初始化方法,简单理解要用他得先初始化

pygame.init()

# 3,做游戏最重要的是什么,肯定是窗口,你连窗口都没有怎么玩

# 后面填的是列表,就是你要的分辨率

pygame.display.set_mode((400 ,400))

# 然后我们还得刷新,才能出来页面

# 以下两个都是刷新,不过filp只是会第一次刷新,而update则会一直刷新

# 二者选一即可
pygame.display.flip()
pygame.display.update()

如果你在安装了Python并配了环境变量的情况下,你可以用黑窗口运行了

注意到你的文件目录下

你会看见一个黑窗口一闪而过,那是因为Python从上到下执行完了所有程序,自然会关闭

那我们就要让代码永远不会停掉,直到我们强制性停止程序

加上while true,他就进入了死循环

这时再运行,你会发现你无法点击上面的x结束页面

而是要点击黑窗口的x才能结束

结束游戏

对于pygame来说,每一个点击都是一种事件,包括键盘,包括鼠标

而我们的鼠标点击刚好就是一个事件

此时你在点击窗口,就可以关闭了

添加一个角色


person = pygame.image.load('bgpic.png')

screen.blit(person,(
200,200))

结果:

移动角色

此时你执行完下面的代码后,你会发现他会往下跑,并且留下残影

我们的窗口是由x,与y组成的,左边和上面都是0,右边和下面是你设置的窗口最大值,也就是,最下面最右面就是400.400

screen = pygame.display.set_mode((400 ,400))

此时先说明残影的问题,那是因为他每隔1就会画一个角色,之前的角色我们并没有清除,这个时候就留下残影了

要解决的话也很简单。我们可以设置一个填充画面,每次画完一个新的主角后,我们就填充一个,通过快速的循环,是可以做出这样的效果的

填充背景

每次填充后,就会绘制一个主角,然后再填充覆盖掉以前的角色,这样我们就将完成了这个要求

If控制角色

角色的控制,要求他到达最下面的时候,又往上跑,到达最下面的时候又往下跑,这个我们要通过if来实现

这段代码还是很好理解的,当他到达最下面的时候speed= -1,这样就是每次-1了,就会往上走了

此时会有一个小问题,就是这个角色会到屏幕外面去

解决方法就是我们要用这个背景的长度,减掉角色的长度

可以看出角色的长度是246.

这样就完美解决了这个问题

此时我们发现主角太大了,pygame提供了缩放图片的方法

缩放图片

新问题来了,小是小了,但是他不会到最下面去了,因为我们的是if y > 400 - 246:

现在他的长已经不是246了,我们缩放是按照小数缩放的,我现在也不知道他是多大了,还好Python提供了获取大小的方法

获取大小

他返回的是两个参数,第一个是x,第二个你猜是什么

此篇教程就结束了,你可以删掉代码,自己重做一遍加上自己的想法,留个小问题,我们如何让他上下的更慢,评论区见

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-10-04 13:08:06  更:2021-10-04 13:08:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/28 2:48:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码