【在主画面加入捷径】
       
【选择语系】
繁中 简中

Corona SDK 程序设计教学:建置环境

MOBILE
【赞助商连结】

    本文介绍如何建置开发 Corona (原 Corona SDK) 应用程序,已经有经验的开发者可直接到官网下载 Corona 主程序即可。建置的过程分为以下数个步骤:

    • (选择性) 安装 Lua
    • 安装 Corona
    • 安装编辑器或 IDE
    • (选择性) 程序代码重排工具
    • (选择性) 静态程序代码分析工具
    • (还择性) 编译自动化工具

    本文将逐一说明。

    (选择性) 安装 Lua

    虽然 Corona 应用程序是以 Lua 写成,但我们不需要安装 Lua 直译器,因 Corona 主程序中即内嵌 Lua 直译器。在这里,安装 Lua 直译器仅是为了安装一些协助开发的工具,不是必需的步骤。笔者在这里已说明如何安装 Lua,有需要的读者可自行前往观看。如果读者要练习 Lua 的语法,记得要以 5.1 版为目标来练习 (看这里)。

    如果读者使用 Windows 开发 Corona 应用程序,比较建议直接安装 LuaRocks,该链接的安装包就附带 Lua 直译器 (5.1 版) 和 LuaRocks 程序了。Lua 和 Python 不同,Lua 的套件数量很少,以开发 Corona 应用程序来说,我们只会用到几个开发工具,其他的套件几乎不会用到。

    下载该套件后,解压缩,执行以下指令:

    C:\path\to\luarocks> .\install.bat /L
    

    这行指令的意思是用该压缩包内附的 Lua 直译器,使用此指令即可安装 LuaRocks。

    安装 Corona

    Corona 可在 Windows 或 Mac 运行。到 Corona 官网 下载主程序后,点击主程序后按照其指示安装即可。如果要编译 Android 程序,需要另外安装 JDK (Java SE Devekopment Kit),经测试,Oracle JDKZulu (OpenJDK) 皆适用。

    要注意的是,Corona 官网提到 Corona 不能装在虚拟机器内,这是因为 OpenGL 支援相关的议题,经笔者实测也的确如此。

    由于 Apple 公司的政策,目前只能在 Mac 系统上编译 iOS 程序。如果有心要前往 Android 和 iOS 双平台来发展的话,目前来说,还是需要 Macbook 或 iMac。Corona 官网并没有提到硬件规格,应该是能跑 OS 10.11 和 Xcode 的主机皆可 (看这里)。如果真的很少用 Mac 的话,可以租赁云端 Mac 主机,像是 MacInCloud 或是 XCLOUD 等。

    附带说明,初期只用 Corona 仿真器的话,可离线使用 Corona,但要将 Corona 项目编译成实际的应用程序 (像 Android 平台的 APK 档) 时系统需保持一小段时间的连线状态。

    安装编辑器或 IDE

    Corona 本身没有内建的编辑器或 IDE,使用者需另外安装。运行 Corona 仿真器和编辑 Lua 程序代码是分开的,只要选择能编辑 Lua 程序代码的编辑器或 IDE 即可。以下是常见的选项:

    • ZeroBrane Studio
    • Visual Studio Code
    • Sublime Text + Corona Editor
    • Notepad++ (限 Windows)

    ZeroBrane Studio 是撰写 Lua 程序代码时常见的选项,由于这套 IDE 有整合 Corona,只要设好 Corona 和项目路径,可以直接从该 IDE 调用 Corona 仿真器,感觉和用内建 IDE 相去不远。另外,ZeroBrane Studio 还有一些辅助开发的特性,有兴趣的读者可到该 IDE 官网看看。

    Visual Studio Code 则是近几年很红的编辑器,在某些语言中搭配适当的外挂,可达到类似 IDE 的效果。这套编辑器也支援 Lua,且透过 vscode-lua 可支援后文所讨论的一些开发工具。但这套编辑器对 Corona 的整合则没 ZeroBrane Studio 那么紧密。由于 VS Code 泛用性比较好,也是可考虑的选项。

    以下是使用 Visual Studio Code 编辑 Corona 项目的示意图:

    用 Visual Studio Code 写 Corona 项目

    Corona Editor 是 Corona 官方推出的 Sublime Text 外挂,但笔者先前试用时,发现输入中文会有一些问题,就未继续使用。喜欢 Sublime Text 的读者可以尝试看看。

    Notepad++ 是 Windows 上的编辑器,对 Lua 的支援比较没那么丰富,大概就是语法高亮 (syntax highlighting),喜欢轻量级工具的读者可试看看。

    (选择性) 程序代码重排工具

    有些程序人会手动排程序代码,但这是相当机械化的工作,最好交由自动化工具来处理,在团队中也有利于统一风格。以 Lua 来说,可使用 luaformatter 来自动排程序代码。使用 LuaRocks 即可安装此套件:

    $ luarocks install formatter
    $ luarocks install checks
    

    *注:LuaRocks 在安装 formatter 套件时会漏掉相依的 checks 套件,需自行补上。*

    如果在 Windows 系统上用前述的 LuaRocks 包的话,要在 Visual Studio 2017 Developer Command Prompt (x86) 内的终端机环境安装,因为有部分套件会用到 Visual C++ 来编译其中的 C 程序代码。

    注:安装时可能需要管理者权限。

    在命令行使用 luaformatter

    $ luaformatter path/to/source.lua
    

    注:luaformatter 的参数可指定多个文件。

    默认情形下,会将结果传到标准输出,用 -a 参数可直接修改文件,另外还有其他参数可微调程序代码风格 (用 --help 观看相关说明)。

    (选择性) 静态程序代码分析工具

    由于 Lua 是动态类型程序语言,有些程序的错误要在执行期才会发现,程序写大一些后,这样的特性使得程序不易调试。除了撰写测试程序外,使用静态程序代码分析工具 (static code analyzer) 也是找出程序代码错误的方法。以 Lua 来说,可以用 luacheck 来检查 Lua 程序代码。用 LuaRocks 即可安装此软件:

    $ luarocks install luacheck
    

    使用方式如下:

    $ luacheck path/to/source.lua
    

    注:luacheck 的参数可指定多个文件。

    (还择性) 编译自动化工具

    前述的程序代码重排工具和静态程序代码分析工具皆是命令行工具,每次都要手动输入指令的话,会使得开发流程变得繁琐,比较好的方式是藉由一些自动化工具来减少输入指令的动作,像是 GNU Make 等。基本上,Makefile 只是用来调用命令行工具的设定档,不用写得很漂亮,一个假想的范例如下:

    .PHONY: all check format
    
    all: check format
    
    check:
    	luacheck path/to/source.lua
    
    format:
    	luaformatter path/to/source.lua
    

    之后,我们只要在项目的根目录输入 make 指令,系统即会依序检查和重排 Lua 程序代码,也可以进一步将 make 指令设到编辑器的快捷键,藉此减少输入的指令量。如果想学 GNU Make 的用法,可参考这里

    我们这里以 GNU Make 为例,但读者不一定要用这套软件来自动化,如果读者想用 CMake、Rake 或其他软件也可以,Corona SDK 项目本身没有包含这个部分,这是我们外加上去的。