NexusFine - AI驱动的物理游戏引擎
中文名:聚合设计
一个 AI 驱动的物理游戏引擎,可以快速构建子弹下落、球类运动等 2D/3D 物理小游戏。
特性:
- AI 驱动 - 使用 AI 进行物理计算
- 简单易用 - 几行代码即可创建游戏
- 2D/3D 支持 - 自动适配维度
- 档位调节 - A/B/C 三档性能调节
- 模块化设计 - 子弹、球、云、蒸汽
- 物理对象 - Bullet、Ball、Cloud、Steam
- 参数可调 - 重力、地面位置、反弹系数等
安装: pip install NexusFine
快速开始: from nexusfine import NF a = "SK-XXXXXXX" NF(a) # X轴 NF(a) # Y轴 NF(a, a) # 构建 2D 系统 NF("Game.exe") # 启动游戏
物理对象使用: from nexusfine import NF, NB, NC, NS
子弹 - 2D 直线运动 + 重力
bullet = NF.Bullet(x=0, y=10, vx=5, vy=0) bullet.update(0.016) print(f"x={bullet.x:.2f}, y={bullet.y:.2f}")
球 - 2D 弹跳运动(可自定义参数)
ball = NB.Ball(x=0, y=5, radius=10, gravity=300, bounce=0.8, ground_y=600) ball.vx = 3 ball.update(0.016)
云 - 2D 飘动
cloud = NC.Cloud(x=0, y=5) cloud.update(0.016)
蒸汽 - 3D 扩散
steam = NS.Steam(x=0, y=0, z=0) steam.update(0.016)
模块说明: NF - 子弹,2D (X, Y),提供 Bullet() NB - 球,2D (X, Y),提供 Ball() NC - 云,2D (X, Y),提供 Cloud() NS - 蒸汽,3D (X, Y, Z),提供 Steam()
物理对象参数: Bullet(x=0, y=0, vx=5, vy=0, gravity=300)
- x: 初始X位置
- y: 初始Y位置
- vx: 水平速度
- vy: 垂直速度(受重力影响)
- gravity: 重力加速度(像素/秒²),默认 300
Ball(x=0, y=0, radius=10, gravity=300, bounce=0.8, ground_y=600)
- x: 初始X位置
- y: 初始Y位置
- radius: 球半径
- gravity: 重力加速度(像素/秒²),默认 300
- bounce: 反弹系数,默认 0.8
- ground_y: 地面Y坐标,默认 600
Cloud(x=0, y=0, vx=0.5, vy=0.1)
- x: 初始X位置
- y: 初始Y位置
- vx: 水平速度,默认 0.5
- vy: 垂直速度,默认 0.1
Steam(x=0, y=0, z=0, rise_speed=0.5, diffusion=0.3)
- x: 初始X位置
- y: 初始Y位置
- z: 初始Z位置
- rise_speed: 上升速度,默认 0.5
- diffusion: 扩散幅度,默认 0.3
更新方法: 所有物理对象都有 update(dt=0.016) 方法
- dt: 时间步长,默认 0.016(60帧/秒)
- 返回: {"x": x, "y": y, ...}
使用示例: 子弹: from nexusfine import NF a = "SK-XXXXXXX" NF(a); NF(a); NF(a, a) bullet = NF.Bullet(x=0, y=10, vx=5, vy=0) for i in range(10): bullet.update(0.1) print(f"x={bullet.x:.2f}, y={bullet.y:.2f}")
球: from nexusfine import NB a = "SK-XXXXXXX" NB(a); NB(a); NB(a, a) ball = NB.Ball(x=0, y=5, radius=10) ball.vx = 3 for i in range(10): ball.update(0.1) print(f"x={ball.x:.2f}, y={ball.y:.2f}")
蒸汽(3D): from nexusfine import NS a = "SK-XXXXXXX" NS(a); NS(a); NS(a); NS(a, a, a) steam = NS.Steam(x=0, y=0, z=0) for i in range(10): steam.update(0.1) print(f"x={steam.x:.2f}, y={steam.y:.2f}, z={steam.z:.2f}")
高级功能(档位调节): from nexusfine import NF, NS a = "SK-XXXXXXX"
方式1:传统方式
config = NS.config("NF", mode="A", duration=20) NF.set_mode("A") NF("x_axis") NF("y_axis") NF(config, "x_axis", "y_axis")
方式2:直接应用(0.2.5 新增)
NS.apply(NF, mode="A", duration=20) NF("x_axis") NF("y_axis") NF("Game.exe")
档位说明: A - 高性能模式(精度高) B - 平衡模式(精度适中) C - 省电模式(速度快)
依赖: Python >= 3.6 requests >= 2.25.0
更新日志: v0.2.6 (2026-06-20)
- 物理参数可配置(重力、地面位置、反弹系数等)
- Steam 扩散参数可调(上升速度、扩散幅度)
- 新增 NS.apply() 直接应用档位
- 导出简化,只保留 NF/NB/NC/NS
v0.2.3 (2026-06-20)
- 新增物理对象:Bullet、Ball、Cloud、Steam
- 新增 update() 物理更新方法
- 完整物理引擎功能
v0.2.0 (2026-06-20)
- 新增档位调节功能
- 新增 NS 蒸汽模块(3D)
- 优化代码结构
v0.1.0 (2026-06-19)
- 首次发布
许可证:MIT License
作者:bengtiaotiao
Metadata
Release files for NexusFine 0.2.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nexusfine-0.2.6.tar.gz | 5.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nexusfine-0.2.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.5 kB
Release files / nexusfine-0.2.6.tar.gz
| Download URL | nexusfine-0.2.6.tar.gz |
|---|---|
| Size | 5.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e69ab2684236c6360231979461e0ed3e44d411188cff23323ab70cfdd228c77f
|
|
BLAKE2b-256 checksum How to use checksums |
7aa09fe418931e39111d47571e0187cc78300d87e827066b52a5b7df8b0cf02c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / nexusfine-0.2.6-py3-none-any.whl
| Download URL | nexusfine-0.2.6-py3-none-any.whl |
|---|---|
| Size | 5.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a73432da1767abc48dcb889a3567fe6044b708f9c85dc590cc8e6edb21e25719
|
|
BLAKE2b-256 checksum How to use checksums |
aca2bdc773a68b3229c22719a3c703858531899ec77761e3d2cd66c9a9b59fd7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|