怎么这个代码会崩溃,MainScene.csb在res目录下了,auto n = CSLoader::createNode(“MainScene.csb”); 用的Xcode,3.3rc2,cocostudio2.0.5


有什么错误提示没有
没有什么提示,就是崩溃那种绿色的Thread 1:EXC_BAD_ACCESS(code=1,address=0x0) 然后我发现在studio里边把Scene高级属性里的自定义类那栏清空就可以运行,写上类名就刚运行就崩溃
我勒个去!我发现了。。。。原来我 instance->registReaderObject里边第一个形参多了个空格



创建工厂类后,链接的时候失败了
error LNK2001: 无法解析的外部符号 “public: virtual struct flatbuffers::Offset __thiscall cocostudio::NodeReader::createOptionsWithFlatBuffers(class tinyxml2::XMLElement const *,struct flatbuffers::FlatBufferBuilder *)” (?createOptionsWithFlatBuffers@NodeReader@cocostudio@@UAE?AU?$Offset@VTable@flatbuffers@@@flatbuffers@@PBVXMLElement@tinyxml2@@PAUFlatBufferBuilder@4@@Z)
大家有遇到过吗
我觉的自己写回调也挺简单的
是啊,理想的自动绑定是类似oc配合sprite-builder那样,而不是cocosbuilder配合2dx的样子!
这是什么情况 。
包含头文件就可以了
instance->registReaderObject(“MyClassReader”, (ObjectFactory::Instance)MyClassReader::getInstance);
auto node = CSLoader::createNode(“MyClass.csb”);
createNode并没有进入重载的MyClassReader里面重载函数。
跟踪代码:
在Node* CSLoader::nodeWithFlatBuffers(const flatbuffers::NodeTree *nodetree)这个函数里面
std::string classname = nodetree->classname()->c_str();里面这个获取的名字Node,并木有MyClass,所以无法创建自己的Node。
nodetree又是从csb文件读取过来的~。so,怎么破,怎么弄
编辑器里边有没有写自定义类名吗?
太复杂啦!!!
每天会写类似的代码,这样写太别扭了!
对于我们上层,只须告诉引擎,我想响应哪个控件哪个事件。
registerEvt(const std::string& widgetName, int evtId, std::function<> callback);
你解决了没有? 我也遇到了。。。
有个bug, 自定义类的第一控件接受不到touch事件.
自定义类,设置touch回调,把2个这个自定义的控件加入到一个层中,发现第一控件收不到touch回调。
说了半天 我想问 这跟反射有毛线关系 直接触发事件的时候 对外抛出一个事件 然后使用者注册相关的事件并接收即可 完全不需要这么麻烦的封装 太反人类的
同问!我也遇到了这个问题。。。用的2dx3.3版本
无法解析的外部符号 "public: virtual struct flatbuffers::Offset __thiscall cocostudio::NodeReader::createOptionsWithFlatBuffers(class tinyxml2::XMLElement const *,struct
介是怎么回事啊?
flatbuffers::Offset 的问题应该是和包含其他文件有关,将例子里面的MyClassReader放到独立文件即可。不知是否引入了其他命名空间引起冲突。
这种办法真麻烦而且恶心
MyClassReader不是独立文件么= =
上边是两个类4个文件的,求详细说明