quick-cocos2d-x 里附带了一个功能强大的模拟器,称为 quick-x-player(后文简称 player)。
player 可以在 Mac 和 Windows 环境中模拟游戏引擎的绝大部分功能。在开发过程中,利用 player 可以高效的测试游戏功能。
虽然 iOS 和 Android 开发环境都提供了相应的模拟器,但 quick-x-player 相比它们具有明显的优势:
- player 无需安装 Xcode、Visual Studio、Android SDK 这些开发工具就可以运行。
- player 以 x86 本机代码执行,可以保持 60fps 的稳定速度运行游戏代码,占用的 CPU 和 GPU 资源极少。
- player 提供了一键刷新功能,就像刷新浏览器一样,按下热键(Windows 中 F5,Mac 中 CMD+R)就可以刷新 player,让开发者立即测试到修改后的效果。
- player 提供了数十种最常见的设备分辨率,选择一下菜单就可以切换到不同分辨率。方便测试游戏在不同分辨率上的显示效果。
- player 提供了日志存档功能,方便发生错误时查找题。
- 可以同时启动多个 player,这在模拟多个客户端的网络游戏时特别方便。
- 开发者可以很容易的将自己的 C/C++ 代码加入 player,编译出适合自己游戏的 player。
当然了, player 无法模拟那些必须在移动设备上才能使用的功能,例如实现 IAP(内购)、广告显示等。所以在一个产品的大部分开发阶段,只需要 player 就可以完成。当产品开发进入后期,需要整合操作系统功能,以及第三方 SDK 时才需要借助 iOS 和 Android 设备。
下载 quick-cocos2d-x 后,在 player/bin/mac 和 player/bin/win32 目录中,可以找到 Mac 版和 Windows 版的 player 可执行文件。本文下面就以 Mac 版为例详细说明 player 的用法和一些使用技巧。
打开项目
启动 player 后,选择“Open”图标,或选择菜单“File -> Open Project“,显示打开项目对话框:
- 项目目录:保存项目脚本文件和资源文件的父目录。例如下图中的目录结构,项目目录就是 benchmark 目录:
- 入口脚本文件:虽然没有硬性规定,但大多数情况下我们用 main.lua 做入口文件名。所谓入口文件就是整个游戏第一个运行的 Lua 脚本文件。入口文件会负责初始化游戏,载入场景等工作。
- 存档文件保存目录:当游戏需要存储玩家的状态时,我们需要设置一个路径,告诉 player 将存档文件放置在哪一个目录。在程序中,可以用 device.writablePath 获得存档文件保存目录。
- 屏幕分辨率和方向;这里根据游戏的要求选择正确的屏幕方向,以及适当的分辨率。在程序中,可以用 display.width, display.height 获得屏幕分辨率。
- 载入框架:如果游戏使用了 quick-cocos2d-x 提供的 Lua 框架,那么应该选中该选项。
选中该选项后,在载入入口文件之前就会载入框架。框架文件打包在 framework_precompiled.zip 中,保存在 quick-cocos2d-x/lib/framework_precompiled/ 目录中。框架的源代码在 quick-cocos2d-x/framework/ 目录中。 - 将调试信息写入文件:player 在运行过程中会产生一些调试信息。如果希望保存这些调试信息到文件里,请选中该选项。调试信息会保存到项目目录的 debug.log 文件中。
如果同时开启多个 player 运行同一项目,那么多个 player 的调试信息会同时追加到 debug.log 中,此时可以关闭一些 player 的调试信息写入功能。
确认所有选项无误后,点击“Open Project”按钮就会打开项目并运行。
如何从命令行启动 player
player 支持下列命令行参数:
- -workdir
- -file
- -writable
- -package.path
- -size
- -scale
- -write-debug-log
- -disable-write-debug-log
- -console
- -disable-console
- -load-framework
- -disable-load-framework
- -offset
~~
对于 Mac 版 player,应该用如下方式启动:
#!/bin/sh
$QUICK_COCOS2DX_ROOT/player/bin/mac/quick-x-player.app/Contents/MacOS/quick-x-player -workdir /Users/myname/myproj -file scripts/main.lua -size 800x480
对于 Windows 版 player:
@echo off
%QUICK_COCOS2DX_ROOT%playerbinwin32quick-x-player.exe -workdir C:myproj -file scriptsmain.lua -size 800x480