【pygame学习+实战】第一篇:游戏最小系统

这篇具有很好参考价值的文章主要介绍了【pygame学习+实战】第一篇:游戏最小系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

14天学习训练营导师课程:
李宁《Python Pygame游戏开发入门与实战》
李宁《计算机视觉OpenCV Python项目实战》1
李宁《计算机视觉OpenCV Python项目实战》2
李宁《计算机视觉OpenCV Python项目实战》3

前言

“我有一个梦想,那就是有生之年做出一款属于自己的游戏。”

不知道屏幕前的你是否曾经有和我一样的想法,总觉得市面上的游戏不完全符合你的胃口,想要自己开发出一款属于自己的独有的游戏。

此时,如果你正好学了Python,那么你的机会来了,python也是可以做游戏的!本篇文章将介绍Python一个非常有趣又功能强大库,它所拥有的模块几乎包含了2D游戏常用功能的实现,让你用Python也能开发出一款小型的2d游戏,它的名字就是—— pygame。

【pygame学习+实战】第一篇:游戏最小系统

一、什么是pygame?

Pygame是一个专门用来开发游戏的 Python 模块,主要为开发、设计 2D 电子游戏而生,具有免费、开源,支持多种操作系统,具有良好的跨平台性等优点。

Pygame它提供了诸多操作模块,比如图像模块(image)、声音模块(mixer)、输入/输出(鼠标、键盘、显示屏)模块等。简单来说,如果你使用pygame,理论上可以开发设计市面上所有的2d类型游戏(仅仅是理论上)。

但是,实际上,我学习pygame并不是说要用它来开发一款完美的游戏,pygame太过于底层,许多功能都要自己来封装实现。也许你用pygame开发一款超级玛丽时间,别人都能学会C#用unity开发和平精英了(夸张)。

那么既然如此,为什么还要来学它?


【pygame学习+实战】第一篇:游戏最小系统


1.1 学习pygame的用处

Pygame适合小型2d游戏开发,比如于飞机大战、贪吃蛇、扫雷等,游戏越大,开发越困难。所以,学习pygame你可以复刻一款小时候玩的经典游戏,比如超级玛丽,魂斗罗之类的,然后更改一些游戏角色及内容,哄哄家里的弟弟妹妹(就是装X呗)。

更重要的一点,我希望你能够通过学习pygame深入理解python面向对象的思想,python面向对象是这门语言的精髓之一。掌握python面向对象的思想,也是你成功跨过python基础的标志之一,对于你后面选择的学习方向(web开发,自动化,爬虫等等)的入门非常有帮助。有了python面向对象的牢固基础,学习python高级的东西你会觉得也就那么回事,有一法破万法的效果。

当然,值得一提的是如果你真的对游戏开发感兴趣,又有python基础,那么通过pygame你可以初步了解关于游戏开发的一些基础知识,等到用pygame开发一两个小游戏,再来思考一下自己适不适合游戏开发,毕竟游戏开发的精髓都是相通的,那些高级游戏引擎只是把一些基础功能封装好了让你用,pygame只是需要你用自己的手去打造自己的工具箱。

1.2 pygame里的游戏世界

在讲解具体代码之前,还是要科普一些pygame里游戏的基础知识。

你印象中的2d游戏由哪些成分构成?首先要有一个窗口,它规定游戏画面占你的屏幕的尺寸大小,也可以设计游戏名字,背景等等。其次就是各种场景,一个游戏可以看做是由许多个场景组成的,比如超级玛丽的开始菜单场景,第一关,第二关等等。场景要有内容,比如背景,主角,敌人,子弹,物品(如超级玛丽的砖块等等)。

在后面就是主角与敌人或者其它对象的各种交互动作,如白色玛丽会发射子弹,踩到敌人压扁对方等等。最后则是贯穿场景的各种音效,声音等等。

二、pygame简单讲解

本篇文章不打算太深入pygame,旨在增加你对python的理解,以及吸引你对pygame游戏开发的一点点兴趣,或者你之前学过pygame但忘记了,希望本篇文章可以帮到你。如果你想要系统学习pygame,建议先看B站免费教程,然后自己通过官网深入学pygame。

废话不多说,我将通过自己初学时学的一个例子来让你实现pygame的初步入门。

2.1 安装pygame

pip install pygame

一直都是通过pycharm安装python第三方库,简直不要太爽.

2.2 游戏最小系统

什么是游戏最小系统(不知道有没有这个名词)?可以理解为游戏能够运行不报错的最小代码。

# 导入库
import pygame

# 初始化操作,游戏开始之前,运行该代码进行初始化
pygame.init()

# 创建游戏窗口,注意设置了window这个变量
window = pygame.display.set_mode((600,400))

# 设置游戏标题
pygame.display.set_caption('游戏最小系统')

# 给窗口设置背景颜色
window.fill((255,255,255))

运行上面代码你会发现左上角出现一个窗口,然后一闪即过,这是正常的。这里就要思考python代码的运行,通过执行上述代码,你创建了一个黑色窗口,但是当代码执行完会发生什么,当然是python自动退出了。所以你要使用一定的方法不让代码结束运行,这就要添加“死循环”了,这很好理解,while true 会一遍又一遍的运行里面的代码而不退出。

# 保持游戏运行状态(游戏循环)
while True:

    # 检测事件发生,先把事件全部拿过来,再看发生的是哪一件事。
    for event in pygame.event.get():
        # 检测关闭按钮被点击的事件
        if event.type == pygame.QUIT:
            # 如果按下屏幕里的X号就会退出
            exit()

看到循环里面添加的for循环及if语句吗?它们有什么作用。由于循环会一直执行,里面的代码会一遍又一遍进行检测,所以在里面就可以有很多操作了。这就是之前提到的主角与敌人或其它物品的交互部分,代码会一直检测发生了什么事情,并作出反应,也包括开发游戏常说的碰撞检测。

所以结合上面,最小系统就出来了,它只是一个黑屏,但是它是游戏的基础框架。

import pygame
# 初始化操作
pygame.init()

# 创建游戏窗口
window = pygame.display.set_mode((600,400))

# 设置游戏标题
pygame.display.set_caption('游戏最小系统')

# 设置背景颜色
window.fill((255,255,255))

# ========游戏开始页面静态效果==========

# 保持游戏运行状态(游戏循环)
while True:
    # ===========游戏帧的刷新===========
    # 检测事件
    for event in pygame.event.get():
        # 检测关闭按钮被点击的事件
        if event.type == pygame.QUIT:
            # 退出
            exit()


【pygame学习+实战】第一篇:游戏最小系统



THE END


关于 pygame 的内容就到此为止了,大家如果喜欢就点个赞呗!



文章来源地址https://www.toymoban.com/news/detail-418085.html


到了这里,关于【pygame学习+实战】第一篇:游戏最小系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用 Python 和 Pygame 制作游戏:第一章到第五章

    原文: inventwithpython.com/pygame/chapter1.html 译者:飞龙 协议:CC BY-NC-SA 4.0 在阅读本书之前,如果您了解一些 Python 编程知识(或者知道如何使用 Python 之外的其他语言进行编程),可能会有所帮助;但是即使您没有,您仍然可以阅读本书。编程并不像人们想象的那么难。如果您遇

    2024年01月17日
    浏览(82)
  • 小游戏实战丨基于PyGame的贪吃蛇小游戏

    本期内容:基于pygame的贪吃蛇小游戏 下载地址:https://download.csdn.net/download/m0_68111267/88700188 实验环境 python3.11及以上 pycharm pygame 安装pygame的命令: pygame是一个开源的Python模块,专门用于编写电子游戏。它使用简单、功能强大,因此非常适合初学者入门。pygame的主要特点包括图

    2024年02月03日
    浏览(63)
  • Unidbg补环境实战第一篇:补环境入门

    Unidbg补环境实战第一篇:补环境入门 为什么要补环境 Unidbg补环境的案例情景复现 模拟执行so 参数获取 unidbg 代码初始化 目标函数的调用 补环境说明 实战补环境 本章小节 Unidbg 是一个基于 unicorn 的逆向工具,可以黑盒调用安卓和iOS中的so文件。这使得逆向人员可以在无需了解

    2024年02月05日
    浏览(44)
  • 【python大作业】pygame实战(python编写2048小游戏)

    本文介绍基于pygame编写的2048小游戏程序 包含四个文件 运行效果: 点击此处下载完整程序,下载即可运行 其中config.py用于设置游戏参数 包括游戏窗口大小,刷新率,方块颜色等 game.py中定义了游戏实现的函数,设置方块的产生,移动与计算,并判断游戏进行的程度,判断游

    2024年02月13日
    浏览(64)
  • Hadoop生态圈实战系列:第一篇 Hadoop 集群安装及使用详解

    作者:禅与计算机程序设计艺术 Apache Hadoop 是一款开源的、分布式文件系统和计算平台。它由 Apache 基金会开发,并于 2011 年成为 Apache 顶级项目之一。Hadoop 的主要特性包括: 分布式存储: Hadoop 允许将数据存储在多个服务器上,在同一个集群中,并提供高容错性和可靠性。

    2024年02月08日
    浏览(47)
  • Python (Pygame) 游戏开发项目实战: 飞扬的小鸟 (Flappy Bird, 像素鸟)

    原文链接:https://xiets.blog.csdn.net/article/details/131791045 版权声明:原创文章禁止转载 专栏目录:Pygame 专栏(总目录) 使用 Python Pygame 开发一个 Flappy Bird 小游戏,也叫 飞扬的小鸟、像素鸟。 Flappy Bird 是一款简单而富有挑战性的益智休闲游戏。玩家只需要点击屏幕即可操作。点

    2024年02月13日
    浏览(49)
  • Android端MVVM从入门到实战(第一篇) - MVVM和四大官方组件

    MVVM是相对于MVC和MVP的一个概念,是一种架构模式。 1.1 MVC 传统的MVC中,View改变通知Controller进行处理,Controller处理结束后通知Model层更新,Model层更新以后通知View层渲染,指令单项流动,角色分工明确。但是MVC有三个缺点,1、三个角色互相持有对方依赖,因此很难复用其中任

    2024年02月04日
    浏览(44)
  • ReactHook学习(第一篇-N)

    Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。 在我们继续之前,请记住 Hook 是: 完全可选的。 你无需重写任何已有代码就可以在一些组件中尝试 Hook。但是如果你不想,你不必现在就去学习或使用 Hook。 100% 向后兼容的。

    2023年04月26日
    浏览(54)
  • cocos creator 学习第一篇

    unity 编程语言主要为c# 早期cocos2d 等用c++ 或者lua cocos creator 编程语言主要为js 所以cocos 适合h5 小游戏,而且跨平台性更好,unity性能可能更好 cocos creator简介 cocos2d-python cocos 1.x 2d cocos 2.x 也是2d 为了不影响2d版本,单独出了3d版本,只有一个版本 cocos 3.x 在cocos 3d基础上 又将2d加

    2024年02月04日
    浏览(43)
  • linux系统调用第一篇

    系统调用,顾名思义,说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关的调用请求系统打开文件、关闭文件或读写文件,可以通过时钟相关的系统调用获得系统时

    2024年04月15日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包