English Readme | 中文简介
LuaSTG-x 是一个基于 cocos2d-x 和 LuaSTGPlus 的多平台游戏引擎。其目标是为 清版射击游戏 和 弹幕射击游戏 提供好用的引擎。
图片演示 | 核心API手册(英文) | 更新日志
完整发布版本下载:
- 来自 cocos2d-x 的完整 2D 游戏引擎功能
- 多平台的音频引擎,支持声音效果
- 多平台的视频引擎,基于 FFmpeg
- 基于 creator_to_cocos2dx 的 Cocos Creator 支持
- Live2D 支持及 Lua 绑定
- ImGui 支持及 Lua 绑定
- 多线程优化
-
克隆本仓库及子模块(或从 release 页面 下载)
$ git clone --recursive https://github.com/Xrysnow/LuaSTG-x.git
-
对于2023年之前的版本,克隆外部库至
frameworks/cocos2d-x/external
(或从 release 页面 下载)$ cd LuaSTG-x/frameworks/cocos2d-x/external $ git clone --recursive https://github.com/Xrysnow/cocos2d-x-3rd-party-libs-bin.git
-
若需要使用 live2d 模块,请下载 Cubism SDK (指南)
-
使用 CMake 生成工程文件 (指南).
- 若目标为安卓平台,只需用 Android Studio 打开
frameworks/runtime-src/proj.android
- 若目标为 macOS 平台,需要向 CMake 添加
-GXcode
参数 - 若目标为 IOS 平台,需要额外设置 CMake ,你可以找到一些 bash 脚本来实现
- 若目标为 macOS/IOS 平台,需要打开
project setting -> TARGETS -> LuaSTG-x -> Build Phases -> Copy Files
并为 frameworks 勾选Code Sigh On Copy
- 若目标为 Linux 平台,需要在使用 CMake 前执行
frameworks/cocos2d-x/install-deps-linux.sh
,默认的make
编译速度较慢,推荐添加-GNinja
参数来使用ninja
编译
- 若目标为安卓平台,只需用 Android Studio 打开
-
使用编译器进行编译
- CMake 3.20+
- Android Studio 2021.1.1+ 和 NDK r22+
- 编译器支持 C++17 的 Linux (推荐使用Clang)
- macOS 11.3+ 和 Xcode 13+
- Windows 7+ 和 VS 2019+
运行要求实际上由编译器决定,但大多数情况下应满足如下要求:
- Android 5.0+
- iOS 13+
- macOS 10.15+
- Windows 7+ 和 visual c++ 运行时
注意,iOS 13+ 和 macOS 10.15+ 是必须的,因为需要使用 std::filesystem
(来源)。
LuaSTG-x
├ cocos-x
│ └ cocos-x-external
│ ├ cocos2d-x-gfx
│ ├ glslang
│ ├ openal-soft
│ └ SPIRV-Cross
├ cocos2d-x-imgui
│ ├ ImGui
│ ├ imgui_markdown
│ ├ ImGuiColorTextEdit
│ └ implot
├ cocos2d-x-live2d (optional)
│ ├ CubismNativeFramework
│ └ Cubism SDK for Native
├ cocos2d-x-video
│ └ FFmpeg (in lstgx_external)
├ lstgx_Audio
│ └ openal-soft (in cocos-x-external)
├ lstgx_external
│ ├ ANGLE (optional)
│ ├ BurstLinker
│ ├ FFmpeg (optional)
│ ├ libzippp
│ │ └ libzip
│ ├ Lua CJSON
│ ├ luafilesystem
│ ├ LPeg
│ ├ MicroTeX
│ ├ nanosvg
│ ├ NativeFileDialog
│ └ Yuescript (optional)
├ lstgx_Math
└ lstgx_LuaCore