LINUX实操:Cocos2D-X-3.4项目直升Cocos2D-X-3.6需要解决的问题
《LINUX实操:Cocos2D-X-3.4项目直升Cocos2D-X-3.6需要解决的问题》要点: 前言在Ubuntu上安装Cocos2d-x 3.4环境失败后,毅然决定投入3.6的怀抱,因为我在Ubuntu上已经胜利安装好了3.6的开发环境. 现在要确认的是,以前用CocosStudio 1.6(够老的吧?不过现在貌似有些公司还在用啊)做的UI工程和特效在3.6下是否会出问题,出的问题是否能顺利办理.这决定了我是否能在3.6的环境下开发. 准备用以前一个3.4版本下开发的单机游戏做测试.选这个项目的原因是:1. 项目比拟小,逻辑简单,不容易出问题. 2. 项目代码100%本人独立完成,即使出问题,容易查找. 先将项目备份一下,改一个新的目录名,然后开端在里面折腾. 配置环境回到Windows机器上,把运行环境先降级到Cocos 2d-x 3.6.办法就是进入解压后的cocos2d-x-3.6目录下,运行:
然后重启一次电脑,生产环境就酿成Cocos2d-x 3.6了. 用cocos new的命令创建一个新工程.我们只必要工程目录下的cocos2d-x目录.(其实就是完整的cocos2d-x-3.6目录下的内容,去除掉template和test这两个目录).将原3.4工程目录下的cocos2d-x目录整个删除,将新工程的这个目录完整拷贝过去. 读取不到资源的坑然后打开Vs2013开始调试,发现找不到资源文件,读不到Resorces目录下的内容. 那么3.6是如何找到资源的呢?再跟踪3.6的空项目,发现它便是在proj.win32/Debug.win32目录下读取的文件. 这阐明了一个问题:3.6版本在编译的时候把资源拷贝到了这个目录下. 打开proj.win32下的C++项目配置文件,后缀是.vcxproj那个,比较3.4和3.6下这个文件的区别,发现本来3.4项目少了后面一个xcopy资源的操作.下面是添加后的内容:
添加的是这行:xcopy "$(ProjectDir)..Resources" "$(OutDir)" /D /E /I /F /Y 这样读取资源的坑就办理了. CocosStudio中粒子特效的坑这个坑由来已久了,当年发现之后就跟cocosStudio的作者沟通过,他给出的建议是粒子特效中用到的png和plist不要同名即可.这样的规范下,在Debug版本运行的时候,虽然会赓续报找不到文件的错,但并不影响运行,程序也不会崩.至少在3.4以及3.4以下的版本下一直是可行的. 然则,3.6下崩了. 这个Bug,貌似CocosStudio退出江湖的时候都没有办理,还是让我们自己动手吧. 找到CCDataReaderHelper.cpp这个文件,打开. 然后找到这个函数最后的地位: 红框的部门,修改为:
便是加个判断条件,如果有plist,但是没有同名的png,就不加入到SpriteFrame中. 看到这里,你应该明确这个坑爹的坑是怎么来的了吧:cocosStudio在读粒子特效的plist时,把它当成了png + plist的图集了. 这个坑也就填平了.再次运行项目,统统正常,打完收工. 最后的说明我们的项目一直是用的csb二进制文件,没有去读json,所以json我就不管了.如果你的项目读的是json文件,你必要修改DataReaderHelper::addDataFromJsonCache这个类里面的相同内容. 或者,用json的很简单,因为你可以修改文本啊,打开特效/UI对应的JSON文件,将加在最后那个粒子特效plist那行删除失落就行了. --------------------------------------朋分线 -------------------------------------- Ubuntu 下设置装备摆设/编译/运行 Cocos2dx项目? 新里程碑:Cocos2d-x v3.0 正式版本宣布! Cocos2d基础及根本函数 Cocos2d 若何做 Android 适配 剖析Cocos2d-x之Action实现 Ubuntu下Cocos2d-x开发情况搭建及配置 --------------------------------------朋分线 -------------------------------------- Cocos2D-X 的详细先容:请点这里 本文永远更新链接地址: 学习更多LINUX教程,请查看站内专栏,如果有LINUX疑问,可以加QQ交流《LINUX实操:Cocos2D-X-3.4项目直升Cocos2D-X-3.6需要解决的问题》。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |