Skip to main content

Pygame Zero like API 用于教授基于 Raylib 的 3d 游戏编程

项目描述

丰富库

Raylib 的简化 API,用于教育和使初学者能够创建 3d 游戏。

当前状态:工作,但未经测试的 alpha,API 可能会改变。

利用

Richlib 只是 Raylib Python CFFI 之上的几个类。导入 Richlib 后,您会自动获取所有 raylib.static 和 raylib.pyray,您只需复制您找到的任何 Raylib Python 示例代码。然后,如果您想使用 Richlib 的类以及 Raylib,您可以。

使用 Richlib 的正常方式不是编写自己的主游戏循环。相反,您设置了一些变量来告诉 Richlib 您希望您的游戏如何:

from richlib import *

WIDTH=800
HEIGHT=640
CAMERA=rl.CAMERA_FIRST_PERSON
DATA_DIR="examples/models/resources/models/"

cube = Cube((0, 10, 0), (10, 20, 10), 'blue')

然后定义一些特别命名的方法:

def draw():
    clear()
    cube.draw()

def update():
    cube.x = cube.x + 1
    if cube.x > 100:
        cube.x = -100

然后你告诉 Richlib 在它的游戏循环中运行你的方法:

run()

与 Pygame 零的区别

  1. 我们在 Mu 编辑器中没有像 Pygame Zero 那样的特殊模式,因此需要在import每个程序的开头添加一行,并run()在末尾添加一行。

  2. 底层 API Raylib 不像 Pygame 那样面向对象。Richlib 添加的东西是面向对象的,但您可能会注意到没有适当的screen对象等价物,因为 Raylib 没有。

  3. 3D 游戏本质上比 2D 更复杂,例如,2D 程序员无需担心相机对象的等价物。

  4. 为了尽可能减轻 (3) 的影响,我们会自动执行一些您可能希望在 Pygame Zero 中手动执行的操作。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

richlib-0.0.6.tar.gz (19.6 MB 查看哈希

已上传 source

内置分布

richlib-0.0.6-py3-none-any.whl (22.4 MB 图哈希)

已上传 py3