【已解决】MainScene.csb到底有什么用?

快速发帖提交之后似乎没什么用,不知道是不是只有我一个人碰到这种事,索性再发一遍。

使用cocos2.2.8发布里面本来就有的Login项目,有两个资源文件MainScene.csb和Login.csb,官方给出的示例是:

auto rootNode = CSLoader::createNode("MainScene.csb");
addChild(rootNode);

但是这种情况无法获取其中的控件,比如说login按钮,然后我尝试了另一个资源文件

auto rootNode = CSLoader::createNode("Login.csb");
addChild(rootNode);

这样就能提取到其中的控件
那么为什么还要有MainScene.csb文件呢?只是显示一下没有实际功能的话似乎没有存在必要了,还是有别的我所不知道的功能?还望前辈们解惑。

你的mainscene里面有按钮吗?
这个csb你可以理解为模板

mainscene里没有按钮

为什么会有这东西呢?既然只有一个界面啥都没有,为什么不直接用Login.csb呢?

默认就是这样的,你可以改掉。

好的。谢谢指点。

新手求助,能不能说下如何获取其中的控件啊,我能显示出场景了,不知怎么样获取里面的按钮。。:12:

通过名字来获取控件,给你个简单地代码吧:
auto rootNode = CSLoader::createNode(“bisaibaoming/baomingLayer.csb”); // 创建界面
auto button = dynamic_castui::Button*(rootNode->getChildByName(“Button_1”)); // 根据控件名字得到该控件对象
// 给按钮添加触摸事件响应
button->addTouchEventListener(=](Ref * ref, ui::Widget::TouchEventType type){
// 按钮触摸响应
if (type == ui::Widget::TouchEventType::ENDED) {
// do something
}
});

记得加这几个头文件:
#include “cocos2d.h”
#include “cocostudio/CocoStudio.h”//在CocosStudio.h 头文件中已经包含了Studio所需
#include “ui/CocosGUI.h”//ui相关头文件

USING_NS_CC;

非常感谢前辈的指点,再请教一个问题,关于cocostudio 的滚动容器,我用它来做一个选择关卡的界面,能滑动了,可是为啥在滑动的时候背景图片下有一条黑色的阴影啊?看起来有点影响美观,你能告诉一下这个如何去除吗?

同问:2: 我也想知道

我也还没解决这个问题,不知道有木有人能解答一下。。