本页目录

UFO RUN(Nextpeer-UFORUN)— Cocos2D-x 实时多人竞速游戏开源示例

Nextpeer-UFORUN · Nextpeer/Nextpeer-UFORUN

这是一个基于 Cocos2D-x 的开源跨平台(iOS/Android)实时多人游戏,玩家可与好友或全球随机匹配的玩家竞速对战。项目演示如何接入 Nextpeer 多人服务:README 给出克隆含子模块、修改包名,以及在 Nextpeer 开发者后台注册并创建 iOS/An...

音乐节奏 其他 Java 音频系统 UI 系统 渲染技术 中级
★ Stars 155 Forks 58 License 未明确 更新 2026-11-01

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
官方声明支持
引擎 / 框架:其他 暂无中文教程标记 未标记站长实测
Gradle 构建需联网拉取依赖与子模块(jbms-parser、jbmstable-parser),国内网络下 git clone --recurse-submodules 与 Gradle 下载可能较慢,可考虑配置镜像或代理;JDK 17 需为包含 JavaFX 的 Full JDK(作者推荐 Liberica),从 BellSoft 站点下载可能需代理;从零安装还需下载 beatoraja 0.8.8 JRE 整合包(mocha-repository.info),国内可达性待核验。

中文项目介绍

LR2oraja ~Endless Dream~ 是一个面向 BMS 玩家社区的开源分支项目,它的上游是 exch-bms2 的 beatoraja,而它自身又建立在 wcko87 的 LR2oraja 之上——后者为 beatoraja 引入了 LR2 风格的判定与血条。项目自述的定位是「可直接替换上游的版本」(drop-in replacement):玩家可以把它当作 beatoraja 本体来用,而作者团队希望借这个分支修复上游长期存在的一些问题,同时集中收纳那些“提交给上游也可能永远不会被接受”的修改与扩展。换句话说,它既是一个可日常游玩的音乐节奏游戏客户端,也是一个社区补丁与实验性功能的集散地。README 中反复强调它与 beatoraja 0.8.8 安装目录的兼容性,说明其设计目标之一就是让老玩家不必重建曲库与配置。

在功能层面,README 列出的关键特性包括:游戏内歌曲下载器,省去在播放器与曲包站点之间来回切换的步骤;LR2 GBATTLE 支持,便于沿用 LR2 时代的联机对战习惯;osu 谱面支持,让玩家可以把另一套节奏游戏生态的谱面带进 beatoraja 的框架里玩;可实时调整的 ratemod 与 freq(流速与音频频率类参数),方便在游玩中即时改变难度手感;通过使用 libgdx 可用的较新图形后端来提升运行性能;更快的表格(table)处理速度,减少大型曲表加载时的等待;以及与 beatoraja 0.8.8 安装目录的兼容。此外还有一个内置的 Mod 菜单,通过 F5 或 Insert 键呼出,把过去需要改配置文件才能生效的选项收进了游戏内界面。作者同时给出了一条明确的警示:不要用这个程序去游玩未经授权的版权内容。

核心功能

核心特性

技术实现上,这是一个以 Java 为主要语言的桌面项目,图形层依托 libgdx 框架,因此跨平台能力的上限在很大程度上取决于 libgdx 提供的后端。从 0.3.0 版本起,项目所需的 Java 版本由 8 升级到了 17,README 特别提醒老用户去发布页确认并更新自己安装目录里的 Java 版本。从源码构建需要一个“带 JavaFX”的 JDK 17,作者推荐使用 BellSoft 的 Liberica JDK,并且必须选择 Full JDK 的包才能获得 JavaFX 组件。仓库以 git 子模块的形式引入了 jbms-parser 与 jbmstable-parser 两个解析库,克隆时必须加上 --recurse-submodules,否则会缺失 BMS 模型与曲表相关的类。构建通过 Gradle wrapper 完成,形如 core:shadowJar 并配合 -Dplatform=windows/linux/macos 指定目标平台,ARM 设备还需追加 -Darch=aarch64,产物输出到 dist/ 目录,可直接替换任意一份可用的游戏安装中的主 jar。

安装路径有两条。其一是从零开始:先下载官方打包好的 beatoraja 0.8.8 JRE 版本并解压到任意应用目录,再从发布页下载对应操作系统的 Endless Dream jar,删除目录中原有的 beatoraja.jar,把下载的 lr2oraja.*.jar 复制进去并重命名为 beatoraja.jar。其二是从已有安装迁移:把现有的 beatoraja 目录复制一份并改名为 endless-dream,然后执行同样的“删旧 jar、换新 jar、改名”三步。发布页为 Windows、Linux、macOS(Apple Silicon 与 Intel 各一份)提供了预编译 jar,此外每次提交都会自动产出开发构建并发布为 release,便于想尝鲜的用户追踪最新改动。安装完成后,README 建议阅读社区的 Beatoraja English Guide 来了解皮肤、曲包来源与表格用法,或者直接到项目的 Discord 提问。

技术架构分析

技术要点

二次开发方面,README 推荐使用 IntelliJ 社区版之类的 IDE。日常调试应使用 core:runShadow 这个 Gradle 任务,作者明确提醒不要使用默认的 gradle run 任务,因为它们无法正常工作;如果想让程序读取一份真实存在的 beatoraja 安装目录,需要在运行配置里加上 -DrunDir="安装目录的完整路径",否则程序会在仓库自带的 assets/ 目录下运行;若要测试与 IR(联网排名/联机)相关的改动,可追加 -DuseIR=true,但 README 也注明该属性存在一个已知 bug(issue #189)。另一个常见的坑是 IntelliJ 有时无法识别子模块,导致 bms.model.* 之类的符号报红,此时需确认 core/dependencies 下存在 jbms-parser 与 jbmstable-parser,若缺失则执行 git submodule update --init --recursive,若存在则手动在 Project Structure 的模块依赖里把这两个目录加进去。

从学习角度看,这个仓库适合研究“大型 Java 桌面游戏如何做跨平台分发与分支维护”:包括 Gradle 多平台打包与 shadowJar 产物替换、上游分支的长期同步策略、把配置项收敛为游戏内 Mod 菜单的 UI 改造,以及音乐节奏游戏中谱面/曲表解析、判定与血条、音画同步等模块的组织方式。需要注意的地方也很明确:作者声明本程序不应用于游玩未获授权的版权内容;README 中的性能提升、表格处理加速等说法属于作者的特性描述,具体帧率与稳定性会随硬件与曲库规模变化,本页面不做实测结论;仓库的 Stars 等社区指标同样需要读者自行到 GitHub 核验。

开源许可证与版权说明

许可证标识:未明确。源码、资源与依赖许可可能不同,请以官方仓库为准。本站仅做索引,不托管源码。

相似项目