在unity3D: c# 怎样调用另外一个c#脚本里面东西?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在unity3D: c# 怎样调用另外一个c#脚本里面东西?相关的知识,希望对你有一定的参考价值。

    对于静态Script(可以不继承MonoBehiviour)

    直接用 脚本名.函数名(参数); 调用即可

    对于组件

    如果是静态成员,同上

    如果是动态成员,可以用GetComponent<脚本名称>()来获取此脚本的类

    也就是使用 GetComponent<脚本名称>().函数名(参数);调用

    注意:上述其实省略了一个this对象,表示本身,意思是说你用

    GetComponent<脚本名称>() 获取的对象是此脚本所挂载的对象上的此C#脚本对象

    如果你要调用其他物体的脚本的成员,请使用Obj.GetComponent<脚本名称>().函数名(参数);这里Obj指的是其他物体的GameObject对象

参考技术A 例:第一个脚本名字为Class_1,第二个脚本名字为Class_2,Class_1调用Class_2
如果Class_2没有绑定在任何GameObject上,那在Class_1里写法:

Class_2 c2 = new Class_2();

如果Class_2绑定在GameObject上,那在 Class_1里写法:

Class_2 c2 = null;
void Start()

c2 = GameObject.Find("绑定的GameObject名字").GetComponent<Class_2>();
参考技术B 有2个脚本 Class_1脚本拖到物体A上。
Class-2脚本这样写
public Class_1 tt;
然后Class-2脚本拖到物体B上(这脚本必须继承monobehaviour基类)
点击B物体,右侧inspector面板多出一个tt。拖A物体到tt上,完成实例化
然后写代码,tt.speed=10f;(假设Class_1脚本有Public speed变量)

以上是关于在unity3D: c# 怎样调用另外一个c#脚本里面东西?的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D热更新之LuaFramework篇[05]--Lua脚本调用c#以及如何在Lua中使用Dotween

unity3d 全局单例脚本怎么用

unity3d 怎样发布android程序

怎样实现unity3d(c#)与树莓派(python)之间的数据的实时交互?

unity中怎样让一个对象切换脚本

unity3d脚本调用另一个脚本的问题