一个事件驱动的Python游戏引擎
项目描述
PursuedPyBear
追求PyBear(简称ppb)旨在成为一个教育资源。最明显的是用于教授计算机科学,但它也可以是任何可以通过模拟帮助的领域的有用工具。
游戏引擎
在核心上,ppb
提供了一些使它非常适合视频游戏的功能。《GameEngine》自身提供了一个可插拔的子系统架构,添加新功能就像对System
进行子类化和扩展一样简单。此外,它包含一个Scenes
状态栈,这些简单的容器可以让你以简单的方式组织游戏场景和UI屏幕。
整个系统使用一个与系统其他部分一样可扩展的事件系统。为新的事件类型注册新值,甚至覆盖默认值。将新的事件类型添加到系统就像用signal
触发你新的事件类的一个实例一样简单。与发布者系统不同,该引擎知道其作用域内的所有内容,并且只调用具有适当回调的对象。最基本的事件是Update
,你的处理程序应匹配签名on_update(self, update_event, signal)
。
指导原则
因为ppb
最初是一个非常适合学习的游戏框架,所以项目有几个长期目标
教育友好
非技术型教育者在经过很少的培训后应该感到舒适。虽然需要一些编程知识,但能够以对象和对事件做出响应的方式进行思考,使得教育者只需专注于他们的课程。
Python惯用语法
基于ppb
的项目应看起来像惯用的Python。它还应该看起来像现代Python。因此,我们经常在它们可用时添加新的语言功能,让新用户始终知道ppb运行在最新的Python上。
面向对象和事件驱动
ppb
游戏由对象的实例组成。每个对象只包含足够的信息来响应提供的事件,这些事件总是包括当前的Scene
。因为ppb
没有事件的主列表,所以你可以提供新的事件来添加对游戏的更多细粒度控制。
硬件库无关
因为ppb
强烈尝试扩展和可插拔,每个硬件扩展都可以为ppb
提供自己的钩子,并且你可以几乎无缝地在各种Python库之间切换。
有趣
维护者之一给出了最好的解释
如果使用它不是有趣的,我们就应该重新做
ppb
关于消除粗糙边缘,以便创作和发现的乐趣都得到强调。新用户应该能在几小时内构建他们的第一个游戏,并继续探索。
尝试一下
以标准方法安装ppb
pip install ppb
ppb
提供了一个run
函数,使得启动单屏游戏变得简单。
要制作一个非常简单的游戏,创建一个目录,并向其中添加一个名为ship.png
的图像文件。然后添加以下内容到一个Python文件中并运行它。
import ppb
from ppb.features.default_sprites import TargetSprite
class Ship(TargetSprite):
target = ppb.Vector(0, 40)
def setup(scene):
scene.add(Ship(position=(0, -7)))
ppb.run(setup=setup)
根据您的操作系统,您可能需要安装额外的包(请参阅安装指南)。
兼容性
ppb
保证与Python 3.6或更高版本兼容。
参与其中
最快的方式是查看正在进行的讨论。如果您已经在使用ppb
,请随时报告错误、建议改进或请求新功能。
如果您想贡献代码,请务必阅读Contributing.MD的相关部分
项目详情
下载文件
下载适合您平台文件的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。
源代码分发
构建分发
ppb-3.2.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f5366d34cc1ce6912774a37410db12e6088e0688b0e8f82e1359e7fc5c49a61d |
|
MD5 | de53974ac7a7b4402b3ebb801b02be1e |
|
BLAKE2b-256 | b1a92db7997e2757784dfc0838d3f08af284ec57d158075f7c839af464a0a0c5 |
ppb-3.2.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 30f38c3045df887636659a3c5923e30396b1a60693cd619a60cc23efaa4040c4 |
|
MD5 | eb70a978915eb7f4c84897e91fbad838 |
|
BLAKE2b-256 | f6cf7e5d1364434db2102aea9e5f02ab2d2ffb58efb6763364575e6fe422cd7e |