Cocos2d-x 3.x中我们使用的Cocos2d-x 3.2,它提供了Windows Phone 8平台的支持。下面我们介绍一下在Cocos2d-x 3.2中如何生成Cocos2d-x的Windows Phone 8工程,以及如何使用等问题。
生成Windows Phone 8工程
我们可以通过Cocos2d-x提供的cocos new工具生成多平台模板工程。如果我们的工程名为HelloCpp,则生成之后的目录结构如下图所示,其中的proj.wp8-xaml文件夹内容,如后图所示,其中HelloCpp.sln可以启动Cocos2d-x Windows Phone 8工程。
提示 如果你使用的是cocos2d-x-3.2alpha0版本,解决方案编译的过程中会发生CCSprite3DDataCache.cpp文件无法找错误, 请在Visual Studio打开libcocos2d工程在3d目录下右键删除CCSprite3DDataCache.cpp和CCSprite3DDataCache.h。
成功启动工程后,看到如下图所示的工程结构,其中HelloCpp启动工程,它是一个Window Phone 8工程,使用的C#代码编写。HelloCppComponent中的Classes是需要修改的内容,此外其他的文件我们不需要修改。
运行Windows Phone 8工程
设置HelloCpp为启动工程,如下图所示,选择想要运行到的设备或模拟器,然后点击启动按钮运行工程。如后图所示是在模拟器上运行结果。
我们在模拟上除了可以看到帧率信息,还可以看到内存使用信息。隐藏内存使用信息输出与隐藏帧率信息输出不同,如果Debug部署模式运行会有显式,如果是Release部署模式运行会有隐藏。这是通过在HelloCpp工程中的MainPage.xaml.cs定义的预编译指令实现的,相关下部分代码如下:
- #if DEBUG
- #define DISPLAY_MEMORY
- #endif
- … …
- // Constructor
- public MainPage()
- {
- InitializeComponent();
- #if DISPLAY_MEMORY
- StartTimer(); ①
- #else
- MemoryDisplay.Visibility = Visibility.Collapsed;
- #endif
- }
- … …
上述第①行代码StartTimer()可以显示内存使用信息。