类中的属性调用

怎么在一个类中,调用另外一个类中的属性,new出来的为啥不能用?还是我用错了
cc.find+getcomponent的可以不用说了(对象池resue的也不用说),
入坑的小白,求大佬告知

代码发出来看看

脚本绑定:




代码部分:



设置点击按钮生成预制体:

预制体自带一个向上移动的脚本;
运行时:
报错:

然后发现的new出来的不行


正常来说应该返还的时Canvas,可是Null他说来就来;

需要实例化预制
let node = cc.instantiate(this.pre_bullet);
this.node.addChild(node);
let a_nodePool = node.getComponent(A_NodePool);

this.pre_bullet 这个是cc.Prefab

大哥你看看Player.ts脚本中的let bullet是啥

https://docs.cocos.com/creator/manual/zh/asset-workflow/prefab.html?h=prefab
看看这个

image
大哥你到底行不行啊,我很怀疑你。。。。

而且你写的时通过getComponent得到的脚本A_NodePool,
服了哦

要是那么写,我在Player.ts脚本中声明一下脚本A_NodePool,比你代码量少很多
我现在的问题是为什么new不出来,是引擎不支持还是我的写法有问题,
我感觉大多数引擎都可以,应该是我写的方式不对,所以来问问
不要搞我哦!!!!

this.A_NodePool = new A_NodePool();
这个本来就不是一个节点

这个当然不是节点,我理解的是个脚本

你看世界坐标转画布的时候,我写的

大哥!!!!!!!

你好像不在状态

看错了 这样获得这个对象
cc.find(“Canvas”).getComponent(A_NodePool)

大哥,你看看我主题,,,,你真的好像不在状态 :sweat_smile:

没问题 你 A_NodePool 这个是挂到 Canvas 上的吧 使用这个 不需要在new 如果要new 那你还要把new 出来的挂到节点上
let a_nodepool = cc.find(“Canvas”).getComponent(A_NodePool)
let bullet = a_nodepool.createButtle();

这句话到点子上了,然后应该怎么往下写,求大哥教!

为什么需要new 一个 而且你这里每次都是new 一个新的吧

我明白了,谢谢,
new出来的是一个新的地址脚本,没挂载,
你说的对,我为啥要new,我好像没睡醒。。。。

哈哈哈,自学挺南的

慢慢适应吧,强者自强。
哈哈哈哈哈哈哈哈哈哈哈哈哈哈

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。