如果你gameManager是某个对象上的脚本,你可以先Find这个游戏对象
然后用gameManager=gameObject.GetComponent<GameManager>()来获取
在一个脚本内访问其他组件:
脚本等组件都是类,对应的实例一般是依托于游戏对象的。因此访问特定的组件实例必须先得到其依附的游戏对象,可以通过上述说的函数或者在脚本中定义外部变量两种方式得到某个游戏对象(外部变量传入对象方式时,传入类型设置为GameObject,才好找组件)。得到了对象后,很多组件就可以直接访问,比如Transform。
//在已经获取游戏对象BB实例情况下,A脚本访问BB对象上的脚本B的成员函数bb与变量bbb
B b=(B)BB.Getcomponent("B脚本的名字");
b.bb();或b.bbb;
注意!!!为了防错,所有找GO对象,传入G0对象的代码都要做防空报错处理。
class A调用class B里面的变量,如果只是直接调用。会显示没有实例化class B
这是因为class B这个类(或者说是.cs文件)不存在该场景中,而class B这个类通常要挂靠一个GameObject(或者空物体)才能够运行
作为演示,创建两个空物体New Sprite和New Sprite(2)分别挂了脚本LTest1和LTest2
【Unity】(探讨)一个预制体对象GO存放入一个脚本A中,再使用另外一个脚本B来调用A脚本的预制体对象GO。
最新推荐文章于 2023-01-31 19:20:08 发布
本文详细介绍了Unity中调用其他脚本函数的三种方法:静态方式、GameObject.Find().SendMessage()和GetComponent<>().针对每种方法的适用场景和限制进行了分析,特别是如何在不同脚本间交互操作预制体对象。
摘要由CSDN通过智能技术生成