跳转到主要内容

一个事件驱动的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 (2.5 MB 查看哈希值)

上传时间 源代码

构建分发

ppb-3.2.0-py3-none-any.whl (55.5 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面