love2d/love
GitHub: love2d/love
LÖVE 是一个基于 Lua 语言的开源 2D 游戏开发框架,旨在帮助开发者轻松构建跨平台的游戏与应用程序。
Stars: 8172 | Forks: 577
LÖVE 是一个*非常棒*的框架,你可以用它来使用 Lua 制作 2D 游戏。它是免费、开源的,并且可在 Windows、macOS、Linux、Android 和 iOS 上运行。
[](https://github.com/love2d/love/actions?query=workflow%3Acontinuous-integration)
## 文档
我们使用我们的 [wiki][wiki] 作为文档。
如果你需要进一步的帮助,请随时在我们的 [论坛][forums]、[Discord 服务器][discord] 或我们的 [subreddit][subreddit] 上提问。
## 代码仓库
我们使用 'main' 分支进行下一个主要版本的开发,因此不应将其视为稳定版本。
还有针对当前已发布主要版本的分支,这些分支可能包含针对该主要版本内即将发布的补丁版本的修复和更改。
我们标记了所有发布版本(自从我们开始使用 mercurial 和 git 以来),并提供二进制下载。
实验性更改有时会在单独的 [love-experiments][love-experiments] 代码仓库中开发。
## 构建版本
发布版本的文件位于 GitHub 上的 [releases][releases] 部分。[网站][site] 包含最新版本的文件链接和额外的平台内容。
还有不稳定/每日构建版本:
- 某些平台的构建版本会在每次提交后自动创建,并可通过 GitHub 的 CI 界面获取。
- 对于 ubuntu linux,它们位于 [ppa:bartbes/love-unstable][unstableppa]
- 对于 arch linux,AUR 中有 [love-git][aur]。
## 测试套件
`testing/` 中的测试套件涵盖了所有 LÖVE API,并以开发者使用它们的方式对其进行测试。你可以从任何 [action][workflows] 查看当前的测试覆盖率。
你可以像运行普通 LÖVE 项目一样在本地运行该套件,例如:
`love testing`
有关更多信息,请参阅 testing 文件夹中的 [readme][testsuite]。
## 贡献
贡献的最佳方式是通过问题跟踪器和官方 Discord 服务器。
对于代码贡献,欢迎提交 pull request 和补丁。请务必阅读 [源代码风格指南][codestyle]。
在提交 pull request 之前,通常会在问题跟踪器、Discord 或论坛上讨论更改和新功能。
## 编译
### Windows
请遵循 [megasource][megasource] 代码仓库页面上的说明。
### *nix
由于不允许在源码树内构建,因此需要在单独的构建目录中生成 Makefiles。在此示例中,使用了名为 `build` 的文件夹:
```
$ cmake -B build -S. --install-prefix $PWD/prefix # this will create the directory `build/`.
$ cmake --build build --target install -j$(nproc) # this will build with all cores and put the files in `prefix/`.
```
### macOS
下载或克隆 [此代码仓库][dependencies-apple] 并将 `macOS/Frameworks` 子文件夹复制、移动或符号链接到 love 的 `platform/xcode/macosx` 文件夹中,并将 `shared` 子文件夹放入 love 的 `platform/xcode` 文件夹中。
然后使用位于 `platform/xcode/love.xcodeproj` 的 Xcode 项目来构建 `love-macosx` 目标。
### iOS
为 iOS 构建需要 macOS 和 Xcode。
从 [Releases 页面][dependencies-ios] 下载与所使用的 LÖVE 版本相对应的 `love-apple-dependencies` zip 文件,
将其解压,并将 `iOS/libraries` 子文件夹放入 love 的 `platform/xcode/ios` 文件夹中,将 `shared` 子文件夹放入 love 的 `platform/xcode` 文件夹中。
或者,下载或克隆 [此代码仓库][dependencies-apple] 并将 `iOS/libraries` 子文件夹复制、移动或符号链接到 love 的 `platform/xcode/ios` 文件夹中,并将 `shared` 子文件夹放入 love 的 `platform/xcode` 文件夹中。
然后使用位于 `platform/xcode/love.xcodeproj` 的 Xcode 项目来构建 `love-ios` 目标。
有关更多信息,请参阅 `readme-iOS.rtf`。
### Android
请访问 [Android 构建代码仓库][android-repository] 获取构建说明。
## 依赖项
- SDL3
- OpenGL 3.3+ / OpenGL ES 3.0+ / Vulkan / Metal
- OpenAL
- Lua / LuaJIT / LLVM-lua
- FreeType
- harfbuzz
- ModPlug
- Vorbisfile
- Theora
标签:2D游戏, Android, API, Bash脚本, DSL, GitHub CI, iOS, Lua, rizin, SOC Prime, 开发工具, 开源, 开源框架, 持续集成, 文档, 测试套件, 游戏开发, 游戏引擎, 社区, 编程