Sonolus 中文文档 下载 App

用 Sonolus.py 开发引擎(推荐)

为什么选 Sonolus.py

相比 Sonolus.js,Sonolus.py 是社区更推荐的新引擎开发语言:

如果你是从零开始写一个新引擎,优先选 Sonolus.py。如果是维护 Sonolus.js 旧引擎,那还得用 JS。

环境搭建

Sonolus.py 是 Python 库,搭建步骤:

  1. 安装 Python 3.10+
  2. 用 pip 安装 sonolus-py:pip install sonolus-py
  3. 创建新项目:sonolus-py new my-engine
  4. 本地运行和调试:sonolus-py serve

sonolus-py serve 会在本地启动一个 HTTP 服务器,你可以在 Sonolus 里直接添加这个本地服务器地址来实时测试。

核心概念

Sonolus.py 的三种核心数据类型:

这些类型可以嵌套组合,构建复杂的游戏状态。

示例:一个基础的 Tap 音符

from sonolus.script import archetype, num

@archetype
class Tap:
    def touch(self):
        # 判定逻辑:玩家触摸屏幕时检查是否在判定窗口内
        pass
    
    def update(self):
        # 每帧更新:处理移动、过期等
        pass

参考实现

学习 Sonolus.py 最好的方式是看 Next SEKAI 引擎源码。它是目前功能最完整、生产环境跑着的 Sonolus.py 引擎,覆盖了世界计划引擎的所有音符类型、判定逻辑、计分规则。

编译和部署

开发完成后:

  1. sonolus-py build 编译引擎
  2. 把编译产物上传到你的自定义服务器
  3. 在 Sonolus 里添加服务器地址测试

相关阅读