在整个Port的过程中遇到的问题总结例如以下

1、一定要使用最新版本号的cocos2dx,原因大家看一下changelog就知道了,近期的cocos2dx版本号都是在修windows phone上的bug,所以为了避免少出问题,还是直接升级到最新版本号吧

2、假设你使用的是cocos2dx + lua方式,眼下的project-creator并不支持lua版本号的windows phone平台,可是cpp版本号是支持的,因此我们能够在cpp版本号的基础上把libcocoslua以及liblua两个工程加到项目中来就可以

3、请一定使用proj.wp8-xaml版本号,而不要使用proj.wp8版本号来作为你的windows phoneproject,原因proj.wp8版本号眼下对于CCEditBox的支持有问题,而且没有把libcurl.dll以及相关的dll加到xap打包中,假设你一旦使用curl就会出问题。

4、假设使用lua的话,请在libExtensions项目里将LuaCocos2d.cpp文件换成cocos2d_support/LuaCocos2d.cpp,默认是cocos2d_support/platform/winrt/LuaCocos2d.cpp,那个版本号没有把CCEditBox以及其它的一些类暴露给lua

5、CocosDenshion在windows phone下仅仅能播放wav类型的文件,假设你是mp3的话,会直接崩溃掉

6、假设你想要将横屏换成竖屏,那么仅仅改动主项目的MainPage.xaml里的SupportedOrientation以及Orientation是不会生效的,原因是这个改动仅仅是将MainPage给改动了,而cocos2dx是用d3d来渲染的,你还得告诉d3d眼下已经换成竖屏了,详细做法是直接调用Cocos2dRenderer的OnOrientationChanged方法,可是调用这种方法前一定要确保CCEGLView已经初始化,我的是在Cocos2dRenderer::CreateGLResources里初始化那里完毕的。另外请注意一定要设置DesiginResolution否则你看到的可能就是一小块,这个大家遇到了就知道怎么做了。

7、假设你想看到Lua里打印出来的日志,那须要在libcocosluaproject里将debug模式下增加COCOSDEBUG=1

8、假设使用了自己定义的shader,须要变成precompiled,否则会报错,显示错乱

9、wp8上一直cpu使用率非常高,使用profile看到是由于CCHttpClient占用了非常大的cpu,于是细致检查了一下发现原来pthread_cond_wait在wp8下没有实现,于是你懂的

10、补充一个,CCFreeFont的实现有非常大的问题,每次都load字体,分配内存,这种实现方式极不科学,会导致整个UI非常卡,我自己做了个优化,将字体文件载入一次后缓存,这种话会多用几十M的内存,可是UI打开速度能够优化到可接受范围内

眼下遇到并已经解决的问题主要就是上面这些,还没解决的一些问题包含

1、莫名崩溃

2、有一些TableView的显示错位

这两个问题都已经进入业务层了,眼下还不确认是cocos2dx的问题还是我们的问题,可是其它平台包含win32确实没发现有这个问题。

将cocos2dx+lua创建的游戏port到windows phone的更多相关文章

  1. cocos2d-x学习笔记(18)--游戏打包(windows平台)

    cocos2d-x学习笔记(18)--游戏打包(windows平台)           之前做好的游戏,都是在vs2008下编译执行的.假设说想把游戏公布到网上或者和其它人一起分享游戏,那就得对游戏 ...

  2. cocos2d-x lua 内存回收

    使用cocos2d-x lua架构,游戏中存在两种内存回收方式. 1.cocos2d-x 本身内存回收 PS:假设在lua在创建一个类,继承cocos2d-x的一个类A,则该A也遵循cocos2d-x ...

  3. 第一个Cocos2d-x Lua游戏

    我们的编写的第一个Cocos2d-x Lua程序,命名为HelloLua,从该工程开始学习其它的内容.创建工程我们创建Cocos2d-x Lua工程可以通过Cocos2d-x提供的命令工具cocos实 ...

  4. Cocos2d-x Lua游戏开发Mac环境搭建以及一点点感悟

    接触Cocos2d-x 最近由于公司项目的需要,自己开始接触Cocos,开始做一些简单的轻量级的游戏,以前没有接触过这一块的东西,也是借助这个机会学习一下游戏的开发,由于以前自己接触的全都是iOS和A ...

  5. 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!

    [COCOS2DX-LUA 脚本开发之一]在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途! 分类: [Cocos2dx Lua 脚本开发 ] 2012-04-1 ...

  6. 创建cocos2d-x+lua项目

    1>     创建cocos2d-x+lua项目 进入到cocos2d-x-2.1.5\tools\project-creator文件夹运行下面命令: python create_project ...

  7. quick cocos2dx lua 内存释放

    前言 对于内存的优化,网上有很多例子和教程.总体来说,就那么几种解决方案,在最后我会简单提下,这里先说下在quick中,对于图片的处理. 1.查看内存调试信息 对于quick框架的了解,我们可以参考\ ...

  8. Cocos2d-x Lua 阅读Csv文件,使用数据更方便

    在我的书或出售之前,我的源代码,有Csvshadow文件. 也许这是偏见.我与工作将是最长的轮廓Csv,所以,我会帮助不大喜欢它的游戏. Csv文件,非常格式easy,也就是说,一个数据线,字段之间用 ...

  9. [Cocos2d-x]Lua 资源热更新

    什么是热更新 所谓的热更新,指的是客户端的更新. 大致的流程是,客户端在启动后访问更新的URL接口,根据更新接口的反馈,下载更新资源,然后使用新的资源启动客户端,或者直接使用新资源不重启客户端. 热更 ...

随机推荐

  1. 三点半们耐热i哦好家哦i囧囧【

    http://pan.baidu.com/share/link?shareid=3011665141&uk=338692646&third=15                http ...

  2. 怎样使用docker不加sudo

    有时候发现docker有的指令必须加sudo才干运行,通过下面三步设置便可不加sudo直接运行docker指令: 1. 假设还没有docker group就加入一个: sudo groupadd do ...

  3. Android它SDK Manager无法更新终极解决方案

    前些日子.Google终于发布Android5.0正式版--棒糖.也许你和我一样,,此外,我想在第一时间更新SDK,结果打开SDK Manager,但令人失望,络围墙啊.默默问一句:近期好久没有听到方 ...

  4. SWT的TitleAreaDialog详解

    转自:http://www.cnblogs.com/AllenYoung/archive/2006/10/05/521805.html Dialog是SWT和JFace的一个重要的组成部分,我们在开发 ...

  5. poj3176--Cow Bowling(dp:数塔问题)

    Cow Bowling Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14028   Accepted: 9302 Desc ...

  6. Spring jdbc 对象Mapper的简单封装

    一般查询实体的时候,都需要这么使用/**      * 根据id查询      *       * @return      */     public Emp queryEmpById(Intege ...

  7. phpcms v9框架的目录结构分析

    phpcms v9框架的目录结构分析:      了解v9框架的目录结构,有助于帮助我们快速建立起对v9框架的一个整体认识 打开"mycms"项目,有如下文件和目录      使用 ...

  8. .net Work Flow 4.0

    工作流 依据 WfMC 的定义.工作流(WorkFlow)就是自己主动运作的业务过程部分或总体.表现为參与者对文件.信息或任务依照规程採取行动,并令其在參与者之间传递.官方的总是非常抽象,抽象是为了可 ...

  9. 修改系统启动项 grub2配置的方法 ubuntu[转]

    在 早期的Ubuntu中,使用Grub作为系统的启动引导程序,想修改系统启动项非常简单,只要用gedit打开系统菜单设定文件( sudo gedit /boot/grub/menu.lst ),修改该 ...

  10. Cocos2d-x3.0 lua捆绑C++分类

    我知道这个纪录Lua结合整个过程. 原文地址:http://blog.csdn.net/qqmcy/article/details/26099859 准备工作: 1.创一个一个Lua的2dxproje ...