pygame

Python主要使用pygame制作游戏,因为pygame的版本问题建议使用python3.9以下版本,这样的不会出现pip安装不上pygame的情况

游戏框架搭建

import pygame
import sys
# 游戏初始化
pygame.init()
# 设置游戏名称
title = pygame.display.set_caption('小球冒险')
# 设置游戏界面大小
screen = pygame.display.set_mode((500,500))

其实我们已经创建完成一个完成的游戏界面,只不过我们的游戏界面只能出现一秒钟为了让我们的游戏界面持久存在所以需要while True进行循环

while True:print(11)

这时候我们发现游戏窗口一直出现,但是我们关闭不了,解决方案可以使用pygame的事件监控,并且监控是一个持续性的动作所以我们可以使用for循环

while True:for event in pygame.event.get():#监控我们是否点击了窗口右上角的关闭,若我们点击了就进行关闭窗口if event.type == pygame.QUIT:pygame.quit()# 提示我们系统中的视图没有进行初始化,我们可以使用sys.exit()sys.exit()

目前就是我们最简单的游戏框架
接着我们可以在游戏中填充一些内容:例如图片背景以及如何控制等

简单实战小球冒险

我们要做一个小球冒险的话,首先需要加载一个小球,这个小球就是一个图片,我们可以使用pygame.image.load()

ball = pygame.image.load('ball.png')

加载完成以后我们需要修改小球图片,因为原有图片可能大小不太合适pygame.transform.smoothscale(),里面可以传两个参数,第一个为修改什么图片,是字符串类型,第二个为改成多大是元组类型,注意:在pygame大小一般情况加都会传递一个元组过去。

# 修改小球图片
new_ball = pygame.transform.smoothscale(ball,(50,50))

修改完图片后我们需要把新修改的图片贴到屏幕上进行显示

screen.blit(new_ball, (ball_x, ball_y))

运行后我们发现没有出现小球图片,这时候我们可以调用pygame.display.update()更新屏幕解决

pygame.display.update()

小球出现后我们可以通过我们的键盘、鼠标点击的形式来控制小球的移动

        elif event.type == pygame.MOUSEBUTTONDOWN:# 判断点击的是左键,控制小球的贴图位置if event.button == 1:ball_x +=5# 判断点击的是右键,控制小球贴图位置elif event.button == 3:ball_x -=5# 同理可以判断是否使用鼠标进行上滚轮下滚轮elif event.button == 4:ball_y +=5elif event.button == 5:ball_y -=5

通过鼠标左右点击可以移动小球,但是同时我们也会发现小球重影效果,我们可以联想一下在我们纸上写了错别字我们是不是可以用改正带把它涂掉,等他干了我们在进行书写,依照这样的原理,目前背景是一个纯黑的背景,我们是不是可以先用黑色覆盖,然后再画出小球,解决小球重影问题
定义一个黑色,为RGB颜色用元组表示

black = (0,0,0)

把新的小球图片贴在0,0点的位置上也就是屏幕左上角(注意:图片是按照左顶点进行定位的,不是按照中心点定位)

    screen.fill(black)

这就是我们最简单的用鼠标控制小球的游戏

完整代码

import pygame
import sys
# 游戏初始化
pygame.init()
# 设置游戏名称
title = pygame.display.set_caption('小球冒险')
# 设置游戏界面大小
screen = pygame.display.set_mode((500,500))
# 加载小球(因为ball.png这个图片和我们pygame平级所以我们直接写名称)
# 小球x,y坐标
ball_x = 0
ball_y = 0
# 定义一个黑色,为RGB颜色用元组表示
black = (0,0,0)
ball = pygame.image.load('ball.png')
# 修改小球图片
new_ball = pygame.transform.smoothscale(ball,(50,50))while True:for event in pygame.event.get():#监控我们是否点击了窗口右上角的关闭,若我们点击了就进行关闭窗口if event.type == pygame.QUIT:pygame.quit()# 提示我们系统中的视图没有进行初始化,我们可以使用sys.exit()sys.exit()# 判断我们是否点击鼠标elif event.type == pygame.MOUSEBUTTONDOWN:# 判断点击的是左键,控制小球的贴图位置if event.button == 1:ball_x +=5# 若我们使用鼠标滚轮键点击操作可以使小球进行瞬移# pygame.mouse.get_post()获取当前坐标elif event.button == 2:xy = pygame.mouse.get_pos()ball_x = xy[0]ball_y = xy[1]# 判断点击的是右键,控制小球贴图位置elif event.button == 3:ball_x -=5# 同理可以判断是否使用鼠标进行上滚轮下滚轮elif event.button == 4:ball_y +=5elif event.button == 5:ball_y -=5# 这时候我们关闭了出现报错# pygame.error: video system not initialized# 把新的小球图片贴在0,0点的位置上也就是屏幕左上角(注意:图片是按照左顶点进行定位的,不是按照中心点定位)screen.fill(black)screen.blit(new_ball, (ball_x, ball_y))pygame.display.update()

Python游戏制作(一)相关推荐

  1. python游戏制作

    游戏开发过程 学习参考网站:https://www.pygame.org/news 常用函数总结: # ----------窗口相关操作----------- # 创建窗口 scene = pygam ...

  2. python游戏制作软件_10 个最值得 Python 新人练手的有趣项目

    原标题:10 个最值得 Python 新人练手的有趣项目 作者 | Claire D. Costa 编译 | Wendy 有很多 Python 新手留言问:"Python 入门很久了,但项目 ...

  3. python游戏制作软件_python制作小游戏(三)

    往期回顾python制作小游戏(一)python制作小游戏(二) GitHub: https://github.com/CharlesPikachu/Games 本系列文章中所涉及到的所有源代码以及相 ...

  4. python游戏制作rpg_用 Python 语言来写游戏

    原标题:用 Python 语言来写游戏 题图:拍摄于 R1 鸟巢发布会 每个程序员差不多都是从计算机爱好者开始的,尤其是那些令人心醉神迷的电脑游戏,不仅造就了整个游戏产业,推动了计算机行业软硬件的升级 ...

  5. python游戏制作软件_python制作小游戏(二)

    下载W3Cschool手机App,0基础随时随地学编程导语 T_T突然发现N久以前我还做过一个系列??? 利用Python制作小游戏??? 好吧,既然做了,就有头有尾吧~~~ 本期我们将制作一个类似八 ...

  6. 【python游戏制作】僵尸来袭 ~ 快来一起创造植物叭~

    前言 哈喽!大家好,我是魔王呐~ 看到下面这一段话,大家是不是会想起你在某种时候玩过的一款游戏呐~ 我拥有着绚烂的外表,但这美丽只在瞬间绽放.烟花散尽之后你会多一个朋友,但是我的身影已经消失在你的视线 ...

  7. 【python游戏制作】拼图永不过时,这就是我这个年龄该玩的游戏~

    前言 嗨喽~大家好呀,这里是魔王呐 ! 拼图游戏是广受欢迎的一种智力游戏,它的变化多端,难度不一 它分为单面拼图.双面拼图.立体拼图.球形拼图.虚拟拼图 今天我就给带来虚拟的单面拼图小游戏 准备素材 ...

  8. 【python游戏制作】大富翁游戏源码

    前言 大富翁,又名地产大亨.是一种多人策略图版游戏.参与者分得游戏金钱,凭运气(掷骰子)及交易策略,买地.建楼以赚取租金.英文原名monopoly意为"垄断",因为最后只得一个胜利 ...

  9. ubuntu下使用python将ppt转成图片_Ubuntu下使用Python实现游戏制作中的切分图片功能...

    本文实例讲述了Ubuntu下使用Python实现游戏制作中的切分图片功能.分享给大家供大家参考,具体如下: why 拿到一个人物行走的素材,要用TexturePacker打包.TexturePacke ...

最新文章

  1. 天线的近场区和远场区
  2. python显示图像文件要放在哪儿_opencv显示图像要把图像放在哪里
  3. 让element-ui的输入框聚焦的4种方式
  4. python twisted教程 三–开始twisted
  5. 怎么查看mysql帮助文档_高效查看MySQL帮助文档的方法
  6. 11-11 11:11
  7. postman的参数params如何设置数组和对象参数
  8. VGG16和VGG19介绍
  9. C++学习(四六六)Multiple parse contexts are available for this file
  10. 无限条码扫描枪,手机充当扫描器
  11. 如何批量设置 Word 文档的打开密码?
  12. java支付宝扫码支付,简单生成二维码方法
  13. python-把excel里面的数据存储到矩阵里面
  14. Thymeleaf设置固定值属性
  15. 测试进阶必备,这5款http接口自动化测试工具简直不要太香~
  16. [深度学习笔记(1)]深度学习入门
  17. LED透明屏多少钱一平方?—实用LED透明屏价格表参考
  18. 如何把aac格式的音频转换成mp3格式的
  19. Web3:创作者经济的黄金时代
  20. python数据分析复盘——爬虫相关库

热门文章

  1. 4G无线模块 电力通信模块
  2. 敏捷迭代管理 --工时估算(估点)
  3. matlab实现大气湍流退化模型算法,大气湍流下退化序列图像的目标检测方法
  4. win10WLAN选项消失解决方法
  5. 我擦!硬盘文件全被人删了!!
  6. Android画板,橡皮擦为黑色痕迹的问题
  7. 14 EXCEL仪表盘制作1
  8. ppp服务器中断,ppp服务器断开连接
  9. 计算体重指数BMI -C语言初学
  10. Android Studio 实验三:水果店