Sync Engine

目录

  • 1. 简介
    • 1.1. 什么是 Sync?
    • 1.2. 单一包架构
    • 1.3. 核心特性
    • 1.4. Sync 不 是什么
    • 1.5. 谁适合使用 Sync?
    • 1.6. 版本
  • 2. 架构总览
    • 2.1. 整体架构图
    • 2.2. 分层设计
      • 2.2.1. 核心层(sync::core)
      • 2.2.2. Godot 包装层(godot::)
    • 2.3. 无桥接 / 无加载顺序
    • 2.4. 目录结构
    • 2.5. 命名约定
      • 2.5.1. 13 个共享数据类
      • 2.5.2. 3 个编辑器组件
      • 2.5.3. 2 个运行时类
      • 2.5.4. 1 个通用组件
    • 2.6. 两种构建产物
  • 3. 安装指南
    • 3.1. 前置要求
    • 3.2. 构建 Sync
      • 3.2.1. 1. 构建核心静态库并运行逻辑测试
      • 3.2.2. 2. 构建 GDExtension
    • 3.3. 平台与目标
    • 3.4. 添加到 Godot 项目
    • 3.5. 验证安装
    • 3.6. 关于 junction / 符号链接
    • 3.7. 快速验证表
  • 4. 快速开始
    • 4.1. 快速开始:编辑器(制谱)
    • 4.2. 快速开始:播放(运行时)
    • 4.3. 快速开始:对象池(SyncNodePool)
    • 4.4. 下一步
  • 5. Sync 包
    • 5.1. Sync 包概览
      • 5.1.1. 类一览(19 个)
      • 5.1.2. 核心层
      • 5.1.3. GDExtension 层
      • 5.1.4. 不含判定 / 不含渲染
      • 5.1.5. 组件速览
      • 5.1.6. 构建与测试
    • 5.2. Sync API 参考
      • 5.2.1. SyncBeat
        • 5.2.1.1. 方法
        • 5.2.1.2. 属性
      • 5.2.2. SyncBpmAxis
        • 5.2.2.1. 方法
        • 5.2.2.2. 属性
      • 5.2.3. SyncDocumentChart
        • 5.2.3.1. 方法
        • 5.2.3.2. 属性
      • 5.2.4. SyncEase
        • 5.2.4.1. 常量
      • 5.2.5. SyncFloatAxis
        • 5.2.5.1. 方法
        • 5.2.5.2. 属性
      • 5.2.6. SyncNote
        • 5.2.6.1. 属性
      • 5.2.7. SyncSpeedAxis
        • 5.2.7.1. 方法
        • 5.2.7.2. 属性
      • 5.2.8. SyncTimeSignatureMap
        • 5.2.8.1. 方法
        • 5.2.8.2. 属性
      • 5.2.9. SyncTrack
        • 5.2.9.1. 方法
        • 5.2.9.2. 采样方法(按轴名查找,带 fallback)
        • 5.2.9.3. 属性
      • 5.2.10. SyncTrans
        • 5.2.10.1. 常量
      • 5.2.11. SyncVector2Axis
        • 5.2.11.1. 方法
        • 5.2.11.2. 属性
      • 5.2.12. SyncVector3Axis
        • 5.2.12.1. 方法
        • 5.2.12.2. 属性
      • 5.2.13. SyncVector4Axis
        • 5.2.13.1. 方法
        • 5.2.13.2. 属性
      • 5.2.14. SyncProgressManager
        • 5.2.14.1. 描述
        • 5.2.14.2. 方法
        • 5.2.14.3. 进度跳转
        • 5.2.14.4. 细分精度
        • 5.2.14.5. 属性
        • 5.2.14.6. 信号
      • 5.2.15. SyncTimeline
        • 5.2.15.1. 描述
        • 5.2.15.2. 方法
        • 5.2.15.3. 属性
      • 5.2.16. SyncBeatGrid
        • 5.2.16.1. 描述
        • 5.2.16.2. 方法
        • 5.2.16.3. 属性
        • 5.2.16.4. 颜色属性(9 种可自定义)
        • 5.2.16.5. 常量
        • 5.2.16.6. LineType
        • 5.2.16.7. LineKind
      • 5.2.17. SyncChart
        • 5.2.17.1. 查询类方法
        • 5.2.17.2. 轴采样方法
      • 5.2.18. SyncChartPlayer
        • 5.2.18.1. 播放控制
        • 5.2.18.2. 时间控制
        • 5.2.18.3. 每帧事件
        • 5.2.18.4. 谱面加载
        • 5.2.18.5. 查询方法
        • 5.2.18.6. 轴采样
        • 5.2.18.7. 音频
        • 5.2.18.8. 成员变量
        • 5.2.18.9. 信号
      • 5.2.19. SyncNodePool
        • 5.2.19.1. 方法
  • 6. 教程
    • 6.1. 构建谱面
      • 6.1.1. 1. 创建文档谱面
      • 6.1.2. 2. 设置元数据
      • 6.1.3. 3. BPM 轴与拍号
      • 6.1.4. 4. 创建轨道并添加音符
      • 6.1.5. 5. 动画轴
      • 6.1.6. 6. 保存与加载
      • 6.1.7. 7. 验证
      • 6.1.8. 完整代码
      • 6.1.9. SyncBeat 构造说明
      • 6.1.10. 音符种类参考
    • 6.2. 编辑器组件教程
      • 6.2.1. 步骤 1:SyncProgressManager — 进度管理
      • 6.2.2. 步骤 2:SyncTimeline — 归一化坐标映射
      • 6.2.3. 步骤 3:输入映射 — 点击位置 → 节拍
      • 6.2.4. 步骤 4:SyncBeatGrid — 节拍线数据
      • 6.2.5. 步骤 5:自定义颜色
      • 6.2.6. 步骤 6:BeatlineView — 完整的绘制 + 输入控件
      • 6.2.7. 完整代码
      • 6.2.8. 关键设计理念
    • 6.3. 游戏运行教程
      • 6.3.1. 步骤 1:构建谱面
      • 6.3.2. 步骤 2:创建播放器并编译
      • 6.3.3. 步骤 3:判初——枚举所有音符并缓存静态数据
      • 6.3.4. 步骤 4:每帧推进 + 自写判定
        • 6.3.4.1. 判定层的关键数据(不修改引擎数据)
      • 6.3.5. 步骤 5:自定义种类的判定分发
      • 6.3.6. 步骤 6:输出总结
      • 6.3.7. 完整代码
      • 6.3.8. 判定层与渲染层的边界
      • 6.3.9. 下一步
  • 7. 高级主题
    • 7.1. 自定义渲染指南
      • 7.1.1. 设计哲学
      • 7.1.2. 地面轨道渲染
      • 7.1.3. 轨道动画渲染
      • 7.1.4. 性能优化
        • 7.1.4.1. 对象池
        • 7.1.4.2. 缓存静态时间
      • 7.1.5. 坐标系约定
  • 8. 贡献指南
    • 8.1. 目录结构
    • 8.2. 编码规范
      • 8.2.1. 语言与风格
    • 8.3. 如何新增类
    • 8.4. 构建与测试
    • 8.5. 文档
    • 8.6. PR 流程
    • 8.7. 许可证
Sync Engine
  • 6. 教程
  • 查看页面源码

6. 教程

逐步学习 Sync 引擎的各个组件。每个教程都配有可独立运行的完整 GDScript 代码。

目录

  • 6.1. 构建谱面
    • 6.1.1. 1. 创建文档谱面
    • 6.1.2. 2. 设置元数据
    • 6.1.3. 3. BPM 轴与拍号
    • 6.1.4. 4. 创建轨道并添加音符
    • 6.1.5. 5. 动画轴
    • 6.1.6. 6. 保存与加载
    • 6.1.7. 7. 验证
    • 6.1.8. 完整代码
    • 6.1.9. SyncBeat 构造说明
    • 6.1.10. 音符种类参考
  • 6.2. 编辑器组件教程
    • 6.2.1. 步骤 1:SyncProgressManager — 进度管理
    • 6.2.2. 步骤 2:SyncTimeline — 归一化坐标映射
    • 6.2.3. 步骤 3:输入映射 — 点击位置 → 节拍
    • 6.2.4. 步骤 4:SyncBeatGrid — 节拍线数据
    • 6.2.5. 步骤 5:自定义颜色
    • 6.2.6. 步骤 6:BeatlineView — 完整的绘制 + 输入控件
    • 6.2.7. 完整代码
    • 6.2.8. 关键设计理念
  • 6.3. 游戏运行教程
    • 6.3.1. 步骤 1:构建谱面
    • 6.3.2. 步骤 2:创建播放器并编译
    • 6.3.3. 步骤 3:判初——枚举所有音符并缓存静态数据
    • 6.3.4. 步骤 4:每帧推进 + 自写判定
    • 6.3.5. 步骤 5:自定义种类的判定分发
    • 6.3.6. 步骤 6:输出总结
    • 6.3.7. 完整代码
    • 6.3.8. 判定层与渲染层的边界
    • 6.3.9. 下一步
上一页 下一页

© 版权所有 2026, Sync。

利用 Sphinx 构建,使用的 主题 由 Read the Docs 开发.