首页 > 代码库 > cocos2d-x 2.2 移植wp8遇到的坑

cocos2d-x 2.2 移植wp8遇到的坑

这两天正在将之前的一款cocos2d游戏,移植到wp平台上,这里记录一下所遇到的问题以及解决方法。

我是用的cocos2d下面的例子程序进行修改的。

遇到的第一个问题是资源路径的问题,当时我把解决方案下面的Assert删除后自己又新建了Resources目录,但是导入资源时选择了与Classes同级目录的Resources目录,所以导致在程序中资源的路径都是根目录,没有文件夹了。后来用bing(这里吐槽一下,百度实在是无语,但是Google又太慢,有时候都打不开,所以bing是比较靠谱的)搜了下,找到了解决方案。

这是在微软官方找到的关于资源相关的东西,很不错,大家可以仔细看看

https://app.yinxiang.com/shard/s26/sh/d9a12437-c105-4c4d-8caf-dbcb2823396f/d2fb1c713a33365d4de3d29950dbf592

资源问题解决后,就剩下真机上测试了,用开发者帐号解锁手机后,便能很容易部署到手机上。

哈哈,部署过程中遇到一个小问题,手机上能够部署成功,但是随后弹出一个对话框说,

查了好多资料,尝试了好多方法,最后在没办法只能按照最后一个没尝试的方法,就是装了vs update4,哈哈,很神奇,竟然可以了。

接下来就要开始上传xap包了,这里碰到的问题也是让我弄了好长时间。下面我来说一说:

第一次是在上传到商店后,检测如下错误

1028: 程序集 libEGL_phone.dll 中不允许本机 API MSVCP110D.dll:?_Xout_of_range@std@@YAXPBD@Z()。请更新该程序集,然后重试。

1028: 程序集 libGLESv2_phone.dll 中不允许本机 API MSVCP110D.dll:?fail@ios_base@std@@QBA_NXZ()。请更新该程序集,然后重试。

1028: 程序集 libEGL_phone.dll 中不允许本机 API MSVCR110D.dll:__dllonexit()。请更新该程序集,然后重试。

于是将debug改为release后大部分问题已经没有了。

但是还剩下三个

国内的资料实在太少,于是google之,终于在cocos2d的官方网站上有人提问,找到了解决方案,原来是一些函数调用的本机的api,于是在整个解决方案中搜索CreateEventEx  OutputDebugStringA

然后将它们注释掉后就ok了。

CCCommon.cpp

CCWinRTUtils.h

Audio.h

主要在上面这三个文件中

原来的链接如下,http://www.cocos2d-x.org/forums/6/topics/37119

哈哈,完成这步后终于上传成功,填写完一些基本资料,就能提交审核了,wp的审核速度就是快,头天提交,第二天就通过了,不过就是推广不好弄。

哈哈,大家赏个脸,支持下我的游戏喽。http://www.windowsphone.com/s?appid=4c893618-144d-44e3-842f-2f770e444ab8