cocos2d 问题记录

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

【cocos2.x和cocos3.x的区别】

从3.x开始官方重写了很多方法原有2.x中CC开头的类全都去OC化(Object-C)

如果使用CC的方法编译时候就会提示这些方法已经被废弃了

【关于声音的问题】

AppDelegate.cpp文件中注释的声音控制去掉双引号后报错

SimpleAudioEngine::getInstance()->resumeBackgroundMusic();

需要在顶部加入以下命名空间

usingnamespaceCocosDenshion;

或者直接写

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加载

autonode=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

对比例子仅作参考

automyLayout=cocostudio::GUIReader::shareReader()->widgetFromJsonFile("aa.ExportJson");

Node*UI=cocostudio::timeline::NodeReader::getInstance()->loadNodeWithFile("aa.ExportJson");

这个貌似被废弃了。。。

.ExportJson格式的文件都是cocos1.x的文件,2.x用的是csb

这种文件实际就是为了创建UI界面用的,随着函数被废弃,貌似这个也就不再用了。

这里说的1.x和2.x不是cocos2d-x,说的是cocos-studio编辑器的版本

cocos2d-x3.9时候对应的cocos是2.3.3.0版本

相关推荐