您的位置:首页 > 移动开发 > Cocos引擎

cocos2dx项目从xcode移植到vs2012遇到的问题

2014-12-08 11:43 260 查看
最近做一个游戏项目,从ios移植到wp8。以下为碰到的问题记录:

从xcode平台拿过来的项目,点击proj.wp8的sln文件

进入工程,点击项目的class文件,会看到只是初始的一些文件,自己编写的源代码并没有被加载。



这时,右键文件,将AppDelegate和HelloWorldScene的cpp和h文件移除,右键classes->添加->现有项,将class中的源文件加入。

加载成功!



调试:

1.一大串类似于“未声明标识符” 之类的错误

文件编码问题。

打开源文件点击另存为,将编码改为 unicode

2.error C2440: “类型转换”: 无法从“void (__thiscall SelectListLayer::* )(void)”转换为“cocos2d::SEL_MenuHandler”



类型错误,转到函数声明处,此例中调用的函数默认参数类型为SEL_MenuHandler。



为函数添加相应的参数,此例中为函数ToCardScene的声明和定义加上CCObject* pSender参数。

3.运行出现内存溢出,图片精灵指针无法读取内存

经测试,每到一些加载大图片的场景就会出这样的错。



跟踪指针,都是无法读取内存。



将图片换成小图片就可以了,换掉某些图片(不必须用png的地方尽量用jpg)。

4.整个布局混乱不堪,图片和精灵都是横着显示



这是因为wp8默认是横屏显示的。

到项目同名cpp中找到SetWindow函数,

DisplayProperties::AutoRotationPreferences = DisplayOrientations::Landscape;

Landscape表是横屏显示,改为Portrait即可。

5.标签文字显示成方框



VS下中文貌似不是UFT8编码的,由于前面的原因改了编码,所以中文乱码了

改为英文,不解释。



6.背景图片显示不全(整个屏幕可视窗口比在xcode模拟器里小)

分辨率问题。iphone默认640*1136,而wp8默认480*800。

改图片分辨率,调整精灵位置(不要做基于像素的操作,对移植性不好)。

运行成功:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: