Skip to main content

伟大的 C 库 raylib 的 Python 绑定

项目描述

pyraylib

下载 下载

伟大的Craylib的 python 绑定。该库围绕 raylib 的 struct 接口提供面向对象的包装器。

入门

先决条件

pyraylib在其源代码中使用类型注释,因此需要支持它的 Python 版本。

某些 Python 版本可能没有enum和/或类型模块作为标准库的一部分,这是必需的。这些是由 pip 自动安装的。

安装

安装pyraylib最简单的方法是使用 pip install 命令:

根据您安装的系统和 python 版本,命令可能是:

pip install pyraylib

或者

python -m pip install pyraylib

或(安装了多个版本的 Python3.7 启动器)

py-3.x-32 -m pip install pyraylib

请注意,测试的最低 Python 版本是 3.4。请让我知道您是否能够在 Python33 中运行它。

pyraylib附带适用于 Windows、Mac 和 Linux 的 32 位二进制文​​件,但您不需要使用这些文件。如果您有自定义raylib dlldylib或其他二进制文件请确保设置一个 PATH 指示它所在的目录:

import os

# set the path before raylib is imported.
os.environ["RAYLIB_PATH"] = "path/to/the/binary"

import pyraylib

# let the fun begin.

您可以设置"__file__"为值"RAYLIB_PATH"pyraylib将在包目录中搜索二进制文件:

# bynary file is wherever the package is located.
os.environ["RAYLIB_PATH"] = "__file__"

"__main__"也可以设置为在启动脚本所在的项目目录中查找二进制文件:

# binary file is in the same dir as this py file.
os.environ["RAYLIB_BIN_PATH"] = "__main__"

# ...

if __name__ == "__main__":
    # run the game
    # ...

确保相应平台的 bin 文件名是raylib.dll,libraylib.3.7.0.dyliblibraylib.so.

使用 pyraylib

使用 pyraylib 就这么简单:

import pyraylib
from pyraylib.colors import (
    LIGHTGRAY,
    RAYWHITE
)
# Initialization
SCREEN_WIDTH, SCREEN_HEIGHT = 800, 450
window = pyraylib.Window((SCREEN_WIDTH, SCREEN_HEIGHT), 'pyraylib [core] example - basic window')
# Set our game to run at 60 frames-per-second
window.set_fps(60)

# Main game loop
while window.is_open(): # Detect window close button or ESC key
    # Update
    # TODO: Update your variables here
    # Draw
    window.begin_drawing()
    window.clear_background(RAYWHITE)
    pyraylib.draw_text('Congrats! You created your first window!', 190, 200, 20, LIGHTGRAY)
    window.end_drawing()

# Close window and OpenGL context
window.close()

examples/目录包含更多示例。

测试

pyraylib没有测试代码,但是你可以运行示例目录中的示例。

raylib vs pyraylib

以下是raylibpyraylib之间的用法差异。请注意,尽管这些差异正在努力使pyraylib尽可能像 pythonic,但可能会在没有通知的情况下发生更改。

常数值

所有#define的 C 都被翻译成 Python 的“常量”。Enums 被翻译成 Python enums

结构

通常,所有结构都继承自ctypes.Structure类。目前,构造函数(向量除外)需要确切的参数类型,因此ints 不能在需要floats 的地方传递(尽管可以省略参数)。

所有结构都已__str__()实现,因此它们具有非常基本的文本表示:

贡献

欢迎任何形式的贡献!

作者

  • Ramon Santamaria - raylib 的作者-rayan5
  • Hussein Sarea - python 绑定代码- pyraylib

执照

pyraylib(和raylib)在未经修改的 zlib/libpng 许可证下获得许可,这是一个 OSI 认证的类似 BSD 的许可证,允许与闭源软件进行静态链接。

项目详情


下载文件

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

源分布

pyraylib-1.0.2.tar.gz (1.9 MB 查看哈希

已上传 source