组件集中管理

cocos 有没有官方提供或者已经有的第三方库,不用每次都要获取组件,可以像vuex或者redux那样集中处理组件的呢。就像this.$store.player\this.$store.enemy这样直接写呢。

vuex或者redux我也用过,但是没有明白你的意思

就是我每次在一个node中要用到另一个node的数据,不用再去挂过来用,而是直接在this.$stroe那样可以找到

1赞

这样?
this._monsHpLb.$Label.string = ‘xxx’
this._monsHpProgress.$Sprite.fillStart = 22
this._monster.labelNode.$Label.string =‘yyy’

一直有啊,你说的不就是cc.find或者this.node.getchildname

1赞

但是性能肯定不会好

你的这个问题本质上就是想要省去获取某个脚本的那句代码。
类似于,在fairygui中,会自动生成this.XXX = GetXXX。让你能够直接用名称来读取组件。
这个问题我记得有大佬做过一个用装饰器自动绑定:
https://mp.weixin.qq.com/s/apLz4_ud6LppAIw1dMmMlw

那大概他的意思就是不想链式操作

是的,能不能将这些整合,成一个api,这样可以省去所有的find呀child呀parent

(帖子被作者删除,如无标记将在 24 小时后自动删除)

是的,主要是前面的(hplb,hpprogress等节点)不用自己主动去关联其他节点了。这些让框架自己就能完成。
@property(cc.Node)
player: cc.Node = null;
this.player = this.node.getChildByName(‘player’)/find/parent等等。。
这一类的代码不用自己再去写。
而是 this.xxx.player 就可以拿到。

你可以看看这些:
https://forum.cocos.org/t/topic/51008
https://forum.cocos.org/t/topic/99139
https://forum.cocos.org/t/topic/91331
,不过我觉得第一个uikill,最方便,不过这个大佬实现了自动绑定的功能,没有代码提示功能,我自己手动搓了一个有代码提示的版本 :thinking:

自己写个方法不就完了,遍历所有节点,然后存起来,用节点名作为键,比如一个页面底下有个按钮Btn_1,取值就是this[“Btn_1”]

可以看看这个
https://forum.cocos.org/t/topic/137317?u=812289303