加载cocostudio导出的场景后,如何在代码里获取ui组件,ui组件是ui编辑器导出后用于场景编辑器。

本文介绍了一种在C++游戏开发中加载特定UI组件的方法。通过使用SceneReader获取场景文件,并利用dynamic_cast进行类型转换,成功实现了对指定UI元素的操作绑定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一起学习。

代码加载场景后,想获取 ui组件,尝试了好久才找到解决办法。ui组件是ui编辑器里导出的资源,然后在场景编辑器里用的。


关键代码如下

Node* node = SceneReader::getInstance()->createNodeWithSceneFile("start/BR_start.json");
Node* ui = dynamic_cast<Node*>(node->getChildByTag(10013));
ComRender* render = (ComRender*) ui->getComponent("startUI");
    if (render) {
        UILayer* uiLayer = dynamic_cast<UILayer*>(render->getNode());
        UIButton* loginBtn = dynamic_cast<UIButton*>(uiLayer->getWidgetByName("Button_start"));
        loginBtn->addTouchEventListener(layer, toucheventselector(Login::login));
        log("success");
    }else{
        log("failed");
    }

供大家参考。一起学习。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值