auto* welcome = CSLoader::createNode("LayerWelCome.csb");
if (welcome) {
rootNode->addChild(welcome);
welcome->setPosition(0, winsize.height);
auto actiointo = MoveTo::create(1, Vec2(0, -(winsize.height / 4)));
auto actionby = MoveTo::create(0.3, Vec2(0, 0));
welcome->runAction(Sequence::create(actiointo, actionby, nullptr));
auto button = static_cast<Button*>(welcome->getChildByName("Button_3"));
if (button) {
button->addClickEventListener(=](Ref* sender) {
log("Button clicked");
});
}
}
这个是我写的方法
我用 cocosstudio 新建了一个 MainScene 还有一个 Layer
但我并没有 把我新建的 Layer 在工具里 添加到 MainScene
我只是单独的添加了一个 Layer 想在 C++里动态的加载
上面的代码就是我加载Layer 的代码
这样是没有问题 我显示出来了我新建的 Layer 也显示出我要的动作
可是问题来了,
我在那个Layer 上是有两个按钮 的
我按上面那样写 我调试过 得到的 button 是空的 也就是没有得到按钮控件 !!!!!
帮我看看 怎么哪里不对吗
还有一个问题就是我可不可以 在cocosstudio 里新建目录
就是我把新建 的 Scene Layer 放到不同的目录 里
auto rootNode = CSLoader::createNode(“aa/bbMainScene.csb”);
这样加载 的时候用相对路径加载
我试过也不行,也是我用的不对吗
还是有别的方法呢