脚本互调传值,对象为空,求解???

小生不才,斗胆一问:
下图是项目中用到的一个功能,转盘
说明: Turntable 是一个预制体,有单独的脚本控制,中间开是一个button,脚本旋转角度偏移已控制好。(没有问题)

说明:此图是主场景,现在问题来了,就是我想点击下图的 oder_btn (button—主场景脚本) 调用上图的预制体脚本里的 开始(button)脚本,为何当我调用时预制体里的方法变量时,里面的对象都为空的???心塞…

总结问题:就是传值跨脚本调用方法都没问题,问题是当值传过去时,对象都为空。(当我点击预制体里的开始button却没问题)类似像当前脚本没激活似的,里面的对象都不能用。

调用的方法要贴出来

此图为开始调用的方法

这是脚本绑定的对象

这是调用方法时打印的对象

已经在楼下贴出来了

有没有大神帮解释解释啊

为何这样调

this.Turntable = cc.instantiate(’预制体名‘);
this.Turntable.getComponent(‘Turntable’).onAnimationChange();

:sweat:是说跨脚本调用方法吗?方法几种吧,发射事件接收调用(这里好像跟节点树有关不是哪里发哪里都能收到的);脚本方法接口铺出来,他们两个要有一个类似中介管理(比如场景下挂的场景管理脚本);脚本弄成全局的。。。自然方法就能全局调用了,但是这就不怎么好了除非通用功能不然一般不建议弄全局

那冒昧再问一下,反过来,我在预制体那边想控制一个主场景那边的一个对象,方法也是一样吗? 把预制体名换成主场景?

是的,你说的对,都有点小小的缺点

http://docs.cocos.com/creator/manual/zh/scripting/access-node-component.html#访问已有变量里的值