cocos2d 问题记录

本人新手,学习过程中的问题逐渐记录下来

【cocos 2.x 和 cocos 3.x 的区别】

从3.x开始 官方重写了很多方法 原有2.x中 CC开头的类全都去OC化(Object-C)
如果使用 CC 的方法 编译时候就会提示 这些方法已经被废弃了

【关于声音的问题】

AppDelegate.cpp 文件中注释的声音控制去掉双引号后报错
SimpleAudioEngine::getInstance()->resumeBackgroundMusic();
需要在顶部加入以下命名空间
using namespace CocosDenshion;
或者直接写
CocosDenshion::SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();

【关于Lable】

因为LabelTTF这个类本身就被Deprecated了,所以它的成员函数当然也被Deprecated了。
可以用Label::createWithTTF或Label::createWithSystemFont()来创建Label

【NodeReader和GUIReader报错】
首先引入
#include "editor-support/cocostudio/CCSGUIReader.h"
我们先来看下Cocos2d-x加载CocosStudio导出的UI的两种加载方式。
第一种:使用NodeReader加载
auto node = cocostudio::timeline::NodeReader::getInstance()->createNode("test.ExportJson");
第二种:使用GUIReader加载
GUIReader::getInstance()->widgetFromJsonFile("test.ExportJson");
总结:
windows 下的CocosStudio 生成的文件,需要使用GUIReader加载
Mac 平台下的CocosStudio 生成的文件,则需要使用NodeReader加载
原因是Mac版和CocosStudio版本同时存在,但是由于Mac版本为1.0.0,导出的文件是有根节点Node的。而windows版本导出的实际上是个Panel。所以需要两种不同的读取方法。
来源: http://www.tuicool.com/articles/aqM7Nzq

对比例子 仅作参考
auto myLayout = cocostudio::GUIReader::shareReader()->widgetFromJsonFile("aa.ExportJson");
Node *UI = cocostudio::timeline::NodeReader::getInstance()->loadNodeWithFile("aa.ExportJson");

这个貌似被废弃了。。。
.ExportJson格式的文件都是cocos 1.x的文件,2.x用的是csb
这种文件实际就是为了创建UI界面用的,随着函数被废弃,貌似这个也就不再用了。
这里说的1.x 和 2.x 不是 cocos2d-x,说的是 cocos-studio编辑器的版本
cocos2d-x 3.9时候 对应的 cocos是2.3.3.0版本

猜你喜欢

转载自happysoul.iteye.com/blog/2267870
今日推荐