cocos2d-x可以用cocos studio制作静态页面,当我们在代码中操作控件时,就需要用api获取控件来进行操作。对于新手来说,获取控件会出现一些莫名其妙的错误导致程序崩溃,这里主要说一下 获取控件为 NULL 可能出错的地方。
获取ui 控件有两种方式(本人目前只知道两种):
1、通过 父节点->getChildByName("控件名“) 层层获取,这种方法在获取子节点的子节点时,稍显繁琐,可用第二种方式。
2、通过 cocos2d::ui::Helper::seekWidgetByName(基础容器,“控件名”); 获取 这种方法在 获取子节点的子节点时 比较方便。
获取控件时 导致控件地址为 NULL 有以下几种可能(可能总结的不全面):
1、控件名称与 cocos studio中控件名称不相符 ,尤其注意大小写。
2、cocos studio 发布资源与代码不同步:
①可能是你在cocos studio中编辑好了 但是没有发布资源 这时 在代码中是不能够获取的。
②可能是你在cocos studio中已经发布过一次资源 但是在第二次更改时 更改了文件路径 再一次发布,但是在代码中忘了改路径,导致获取为 NULL。(这种情况容易忽视,我就是这种情况 折腾了一天的时间 希望可以帮到大家)。
时间: 2024-10-21 09:19:30