1 个不稳定版本
0.0.6 | 2021年8月21日 |
---|
453 在 数学
630KB
13K SLoC
SPWN 语言
Geometry Dash 触发器的语言。使用代码轻松创建关卡。
SPWN 是一种编译成 Geometry Dash 关卡的编程语言。这意味着您不仅可以通过 GD 编辑器中的视觉表示来创建关卡,还可以使用“口头”和抽象化的表示来创建关卡。这对于使用 GD 触发器特别有用,因为如果您想制作复杂的东西,那么它并不适合游戏编辑器中的图形工作流程。
有用链接
安装 - 如何安装
您可以使用适用于您的操作系统的安装程序,也可以从源代码构建 SPWN。请注意,从源代码构建将使您能够访问新的功能和错误修复,但 可能是不稳定的。
Windows
- 从 最新版本 下载 .msi 文件。
- 打开 .msi 文件并按照安装向导操作。
MacOS
- 从 最新版本 下载 .pkg 文件。
- 打开 .pkg 文件并按照安装向导操作。
- 注意: 如果您收到无法打开来自未识别开发者的文件的消息,请打开 '系统偏好设置',然后点击 '安全与隐私',在 '常规' 菜单中点击 '任何方式打开'
Linux
Debian (Ubuntu, Mint, Elementary, ...)
- 从 最新版本 下载 .deb 文件(基于 Debian)或 .pkg.tar.zst 文件(基于 Arch)。
- 使用 dpkg 安装 Debian 软件包
sudo dpkg -i spwn_0.0.6-0_amd64.deb
Arch (Manjaro, Artix, ...)
- 使用 pacman 安装 Arch 软件包
pacman -U spwn-0.0.6_amd64.pkg.tar.zst
- 或者,您可以从 AUR 安装 SPWN 二进制文件(用 yay 替换您选择的辅助工具)
yay -S spwn-bin
从源代码编译
- 从该存储库下载源代码
- 解压缩 .zip 文件
- 如果您还没有安装 rust,请安装它
- 在终端中打开解压缩的文件夹
- 运行
cargo build --release
- 编译的二进制文件放在
target/release
使用 SPWN - 设置
好吧,不要再说闲话了,我们如何实际使用 SPWN 呢?
SPWN 代码可以在任何代码编辑器中编写,但为其编写了 SPWN 扩展或插件的编辑器有 Visual Studio Code、Sublime Text 和 Vim。
VSCode
导航到 VSCode SPWN 语言支持 并点击安装。在 VSCode 中,点击启用,然后创建一个扩展名为 .spwn 的新文件
- 注意:确保文件与 VSCode 应自动更改的语言语法相同,但如果不更改,请导航到屏幕右下角,点击
选择语言模式
,然后选择 SPWN。
Sublime Text
打开 Sublime Text 并打开命令面板...通过从工具下拉菜单中选择命令面板。在打开的菜单中键入安装,这将导致显示安装 Package Control 选项。按 Enter 或左键单击条目进行安装。再次打开命令面板,键入 'install'。当 Package Control: Install Package
被突出显示时按 'Enter',然后当 SPWN Language
被突出显示时按 'Enter'。
Vim
访问 spwn().vim! 并遵循该页面上的说明。
其他编辑器
对于任何其他具有语法高亮的编辑器,大多数 C 类型语法高亮方案都可以正常工作。
使用 SPWN - 如何运行 SPWN 代码
前往 文档 创建一个简单的程序,如下所示
test = 5g
-> test.move(5, 100, 0.25)
test.move(10, -10, 2)
保存文件,然后在终端中输入 spwn build YOURFILENAME.spwn
。确保在此过程中关闭 GD。运行此命令后,打开 GD,并修改级别内容。前往文档了解如何使用 SPWN 编程。
注意:SPWN 在级别顶部生成触发器,因此您可能看不到任何差异。
使用 SPWN - 命令行参考
以下是 SPWN 命令行子命令和标志的列表。此信息也可以在命令行中通过键入 spwn help
获取。
子命令
build [script file], b [script file]
Runs/builds a given file
doc [library path]
Generates documentation for a SPWN library, in the form of a markdown file
version, -v, --version
Gets the version of spwn
标志
--console-output, -c
Makes the script print the created level into the console instead of
writing it to your save file
--no-level, -l
Only compiles the script, no level creation at all
--no-optimize, -o
Removes post-optimization of triggers, making the output more readable,
while also using a lot more objects and groups
--level-name [name], -n [name]
Targets a specific level
--live-editor, -e
Instead of writing the level to the save file, the script will use a
live editor library if it's installed (Currently works only for MacOS)
--save-file [file], -s [file]
Chooses a specific save file to write to
--include-path [folder], -i [folder]
Adds a search path to look for libraries
示例
spwn build addition.spwn --level-name add
构建名为 addition.spwn 的文件并将其写入名为 add 的级别。
spwn build subtraction.spwn --no-level
构建 subtraction.spwn 文件,但不写入级别。
spwn build AI.spwn -c
构建 AI.spwn 文件并将级别字符串输出到控制台。
发布前的待办事项
- 完成可变变量
- 函数参数、变量定义等的类型注解
-
as
用于自动更改类型的运算符 - 完成文档
- break/continue 语句
- 操作顺序
- 字符串中的转义字符
- 修复编译后的优化
在某个时间点待办
- 为Windows实现实时编辑功能
- 使其在Linux上运行
- 嵌套注释
- 获取和编辑对象和触发属性
享受SPWN!
依赖项
~10–20MB
~258K SLoC