用于游戏开发的顶级 PYTHON 框架

一、说明

        我们试图用python开发游戏,一旦产生这个念头,就伴随这样一个问题:当今用于构建游戏的领先 Python 框架有哪些?python下,支持游戏开发平台有哪些优势?我们在这篇博文中告诉你。

二、高级游戏平台简介

用于构建游戏的主要 Python 框架有哪些?如果你对游戏开发感兴趣,这是你在某个时候必然会面临的问题。(您可能还想查看我们关于当今领先游戏开发引擎的博客:Top 10 Game Development Engines in 2023。Python 是世界上最流行的编码语言,它被当今各行各业使用,包括游戏构建。事实上,许多 Python 框架被用作游戏开发的关键工具。这些是软件框架,通过帮助自动执行游戏开发中通常执行的多项任务来支持游戏/游戏应用程序的创建。例如,《战地风云 2》是一款使用 Python 框架制作的流行游戏。

那么,今年哪些是用于游戏开发的领先 Python 框架呢?下面分享的是顶级名称:

2.1 pygame

        Pygame 是一个开源的 Python 库,可帮助用户使用 Python 编程创建功能丰富的游戏和多媒体应用程序。从本质上讲,它是一组专为编写视频游戏而设计的跨平台 Python 模块,包括旨在与 Python 编程语言一起使用的计算机图形和声音库。它具有高度的可移植性,可在所有平台和操作系统上运行,并使用优化的 C 语言和汇编代码来实现核心功能。

        Pygame使用简单DirectMedia Layer(SDL)库,从而促进了实时计算机游戏开发,而无需C编程语言及其衍生语言的低级机制。使用 Pygame 的应用程序可以在 Android 手机和平板电脑上运行,并使用适用于 Android 的 Pygame Subset。Pygame还得到了一个强大的社区的支持,该社区为那些想要使用它的人创建了许多教程。

2.2 Pyglet

        Pyglet 还用于多个操作系统上的 Python 游戏开发和其他视觉丰富的应用程序。这是一个功能强大的开源、跨平台窗口和多媒体库,可以支持用户界面事件处理、窗口和全屏操作、多个显示器、来自库 OpenGL 的图形、操纵杆、加载图像和视频以及音频播放。Pyglet 在 Python 3.5+ 下运行,没有外部依赖关系,也不需要安装。

        它运行在Microsoft Windows,Mac OS X和Linux上,并在BSD许可下发布,基本上提供了一个面向对象的应用程序编程接口,用于构建游戏和其他多媒体应用程序。

2.3 熊猫3D

        Panda3D 是一个免费使用的引擎,用于构建实时 3D 游戏、可视化、模拟和实验。它包括图形、音频、I/O、碰撞检测和其他在制作 3D 游戏时派上用场的功能。它是修订后的 BSD 许可证下的开源软件。

        它用 Python 和 C++ 编写,拥有前一种语言提供的优势,例如快速开发和高级内存管理,即使它包括用于处理和优化源代码的命令行工具。同样有帮助的是,Panda3D 支持几个流行的第三方库,例如 Bullet 物理引擎、OpenAL、Assimp 模型加载器和 FMOD 声音库。

        Panda3D 的用户通常是商业游戏、一些开源项目和几门利用 Panda3D 较短学习曲线的大学课程的开发者。社区可能很小,但非常活跃。

2.4 PyKyra 

        基于软件和文档本地化 (SDL) 和 Kyra 引擎,PyKyra 据说是最快的 Python 游戏开发框架之一。它不仅支持 Kyra 框架的标准功能,还支持 MPEG 视频、直接图像读取、MP3、Ogg Vorbis、Wav、多声道模块文件等声音。

        此外,它还支持侧面对称和自上而下的平移。在这里,用户可以将屏幕划分为子窗口视图,每个视图都有自己的对象转换。这也有助于 Kyra 引擎速度快,并配备了用于渲染更新的专用编码算法。

2.5 基维Kivy

        Kivy 是一个开源和跨平台的 Python 库,可在 Linux、Windows、OS X、Android、iOS 和 Raspberry Pi 上运行。它带有多点触控应用程序;事实上,它有 20 多个可以轻松扩展的小部件。此外,它可以原生使用大多数输入、协议和设备,包括 WM_Touch、WM_Pen、Mtdev、Linux 内核 HID、Mac OS X 触控板和魔术鼠标以及 TUIO。它用于应用程序和软件的快速开发,是一个稳定的框架,带有完整文档化的 API 和编程指南,以帮助用户很好地使用它。

2.6 PyOpenGL的

        PyOpenGL 是图形库 OpenGL 和相关应用程序编程接口 (API) 的跨平台 Python 绑定。该绑定是使用标准 ctypes 库构建的,并在极其自由的 BSD 风格的开源许可证下提供。它可以与许多用于 Python 的外部 GUI 库互操作,例如 PyGame、PyQt、Raw XLib 等。

2.7 Python Ogre/PyOgre

        Python-Ogre / PyOgre 是用于 Ogre 3D 渲染引擎的 C++ 库的 Python 绑定,它具有令人印象深刻的功能集,并已用于创建令人印象深刻的游戏。因此,从本质上讲,PyOgre 包含两个库:Ogre3d 和 CEGUi,一个嵌入式 GUI 系统。PyOgre 是一个跨平台库,可在 Windows 和 Linux 下运行,兼具速度和灵活性。

2.8 Cocos2d的

        Cocos2d 是一个用 Python、C++ 和 Objective C 编写的开源软件框架,用于构建游戏、应用程序和基于 GUI 的跨平台交互式程序。Cocos2d 系列由 Cocos2d-objc、Cocos2d-x、Cocos2d-html5 和 Cocos2d-XNA 组成。

        Cocos2d 社区有一些独立的编辑者,他们在 SpriteSheet 编辑、粒子编辑、字体编辑和 Tilemap 编辑等领域做出了贡献,还有包括 SpriteBuilder 和 CocoStudio 在内的世界编辑器。

2.9 Ren’Py

        Ren是一个用 Python 和 Cython 编写的开源和跨平台引擎(Cython 代码主要用 Python 编写,带有可选的附加 C 启发语法,旨在提供类似 C 的性能)。它建立在 Pygame 之上,是一个用于创建视觉小说的自由软件游戏引擎。借助该引擎,可以将文字、图像和声音结合起来制作视觉和生活模拟游戏。它还支持 Python 脚本语言,因此使开发人员能够处理复杂的游戏逻辑,并在几乎所有计算机系统上运行。

        使用 任 的开发人员可以创建分支故事、保存文件系统、回滚到故事中的先前点以及执行许多场景转换。该引擎还支持全屏电影和动画精灵的影片播放。

三、后记

        其实每种平台有多大人气尚不明确,值得欣赏的是pygame和openGL的组合模式相当不错,推荐原因有两个:1)openGL是英伟达绑定的产品,是十足的游戏产品;2)pygame不仅支持openGL窗口,还有用户交互,这为游戏可操纵性带来方便。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/420323.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小甲鱼Python07 函数初级

一、创建和调用函数 pass语句表示一个空的代码块,我们经常先写好函数,pass占一个坑,等规划好之后再来填坑。 函数也是可以指定参数的,我们会把参数传进去用来替代形参。 在Python里如果想要返回值,不需要指定函数的返…

高侧开关芯片四通道 40V 50mΩ车规级带反向电流保护功能负载检测高边开关

概述 PC8845/G是四通道、高侧功率具有集成NMOS功率FET的开关,以及电荷泵。该设备集成了高级 保护功能,例如负载电流限制,通过功率限制进行过载主动管理可配置闩锁关闭的超温停机。全面诊断和高精度电流感应这些功能实现了对负载的智能控制。…

2326. 王者之剑(网络流,最小割,最大权独立集,最小点权覆盖)

活动 - AcWing 给出一个 nm 网格,每个格子上有一个价值 vi,j 的宝石。 Amber 可以自己决定起点,开始时刻为第 0 秒。 以下操作,在每秒内按顺序执行。 若第 i 秒开始时,Amber 在 (x,y),则 Amber 可以拿走 (x,y) 上的…

LeetCode刷题--- 乘积为正数的最长子数组长度

个人主页:元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题 http://t.csdnimg.cn/yUl2I 【C】 ​​​​​​http://t.csdnimg.cn/6AbpV 数据结构与算法 ​​​http://t.csdnimg.cn/hKh2l 前言:这个专栏主要讲述动…

3.1作业

作业要求&#xff1a; 通过w(红色臂角度增大)s&#xff08;红色臂角度减小&#xff09;d&#xff08;蓝色臂角度增大&#xff09;a&#xff08;蓝色臂角度减小&#xff09;按键控制机械臂 程序代码&#xff1a; #include<myhead.h> #define SER_IP "192.168.126.…

AGI概念与实现

AGI AGI&#xff08;Artificial General Intelligence&#xff09;&#xff0c;中文名为“通用人工智能”或“强人工智能”&#xff0c;是指通过机器学习和数据分析等技术&#xff0c;使计算机具有类似于人类的认知和学习能力的技术. 多模态的大模型 &#xff08;Multimodal…

VSCode上搭建C/C++开发环境(vscode配置c/c++环境)Windows系统---保姆级教程

引言劝退 VSCode&#xff0c;全称为Visual Studio Code&#xff0c;是由微软开发的一款轻量级&#xff0c;跨平台的代码编辑器。大家能来搜用VSCode配置c/c&#xff0c;想必也知道VSCode的强大&#xff0c;可以手握一个VSCode同时编写如C&#xff0c;C&#xff0c;C#&#xff…

Java SE:多线程(Thread)

1. 线程两个基本概念 并发&#xff1a;即线程交替运行多个指令并行&#xff1a;即多个线程同时运行指令 并发并行不矛盾&#xff0c;两者可同时发生&#xff0c;即多个线程交替运行指令 2. 多线程3种实现方式 2.1 直接创建线程对象 /*** 方式1&#xff1a;* 1. 创建thread类的…

太实用了!微信自动回复神器,助你轻松社交

在当今社交网络的时代&#xff0c;微信已经成为了一种重要的社交工具&#xff0c;为了更有效地管理微信号和提高社交效率&#xff0c;许多人开始使用微信管理系统&#xff0c;下面就一起来看看它的优势吧。 首先&#xff0c;使用微信管理系统可以实现多个微信号同时登陆&#…

C# 通过共享内存调用C++ 算法

需求&#xff1a; C#程序调用 C开发的dll. 一种C# 程序调用c 算法方案_算法怎么被c#调用-CSDN博客 上回书说到&#xff0c;将c算法封装为dll 插件&#xff0c;c加载后&#xff0c;暴露C风格接口&#xff0c;然后供C#调用。但是这样有几个问题&#xff1a; 1&#xff0c;一是…

史上最细,Python接口自动化测试-参数关联(项目实例)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 什么是参数关联&a…

Nodejs基于vue的个性化服装衣服穿搭搭配系统sprinboot+django+php

本个性化服装搭配系统主要根据用户数据信息&#xff0c;推荐一些适合的搭配穿搭&#xff0c;同时&#xff0c;用户也可自己扫描上传自身衣物以及输入存放位置&#xff0c;搭配后存储到“我的搭配”中&#xff0c;以便下次挑选&#xff0c;既可以节省搭配时间&#xff0c;也方便…

梦里演讲:在程序员分享会上致敬中年

梦到程序员大佬杰哥组织了一场程序员的分享&#xff0c;我去到了现场&#xff0c;看到只有一些摘抄的文章的朗读&#xff0c;略显浮躁。 杰哥于是感慨&#xff1a;“大家都不真诚&#xff0c;也不热情&#xff0c;以后不办了&#xff0c;感觉心凉&#xff0c;失落”&#xff0…

Ubuntu22.04下安装Spark2.4.0(Local模式)

一、版本信息 虚拟机产品&#xff1a;VMware Workstation 17 Pro 虚拟机版本&#xff1a;17.0.0 build-20800274 ISO映像文件&#xff1a;ubuntukylin-22.04-pro-amd64.iso Hadoop版本&#xff1a;Hadoop 3.1.3 JDK版本&#xff1a;Java JDK 1.8 Spark版本&#xff1a;S…

摄像头工程师说 Camera - 颜色空间 YUV 与 YCbCr 的区别与联系(4)

摄像头工程师说 Camera - 数据格式 YUV 与 YCbCr 的区别与联系&#xff08;4&#xff09; 概述 上回书咱们说到 摄像头工程师说 Camera - 数据格式 YUV 格式的存储&#xff08;3&#xff09; 本节咱们说说YUV 与 YCbCr 两种色彩空间定义的联系与区别。 相同点&#xff1a; Y…

YOLOv9:使用可编程梯度信息学习您想学习的内容

摘要 arxiv.org/pdf/2402.13616.pdf 当今的深度学习方法侧重于如何设计最合适的目标函数,以便模型的预测结果能最接近于实际结果。同时,还必须设计一个适当的架构,以便于获取足够的预测信息。现有的方法忽略了一个事实,即当输入数据经历层层特征提取和空间变换时,会损失…

python 推导式

Python 推导式 Python推导式&#xff08;comprehensions&#xff0c;又称解析式&#xff09;是Python的一种独有特性&#xff0c;它可以从一个数据序列构建另一个新的数据序列。这种特性相当于语法糖的存在&#xff0c;可以简化代码。Python推导式包括列表推导式、字典推导式、…

React富文本编辑器开发(四)

上一节我们做了块级元素的格式操作&#xff0c;这节我们来讲行内元素的相关操作。行内元素的样式一般指 粗体、斜体、代码或 删除线等 。通过前一章的内容得知&#xff0c;元素的渲染是通过渲染器来呈现的&#xff0c;块级元素通过指定 renderElement, 行内元素&#xff08;即内…

UE5 C++ 发射子弹发射(Projectile)

一.相关蓝图的练习&#xff0c;在我之前的文章中射击子弹案例-CSDN博客 本篇使用C实现 1.创建C类 MyBullet,在MyBullet.h中包含相关头文件 #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "Components/StaticMeshComponent.…

震惊!python类型的自动化测试框架原来这么简单!

自2018年被评选为编程语言以来&#xff0c;Python在各大排行榜上一直都是名列前茅。目前&#xff0c;它在Tiobe指数中排名第三个&#xff0c;仅次于Java和C。随着该编程语言的广泛使用&#xff0c;基于Python的自动化测试框架也应运而生&#xff0c;且不断发展与丰富。 因此&am…
最新文章