在unity3D: c# 怎样调用另外一个c#脚本里面东西?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在unity3D: c# 怎样调用另外一个c#脚本里面东西?相关的知识,希望对你有一定的参考价值。
对于静态Script(可以不继承MonoBehiviour)
直接用 脚本名.函数名(参数); 调用即可
对于组件
如果是静态成员,同上
如果是动态成员,可以用GetComponent<脚本名称>()来获取此脚本的类
也就是使用 GetComponent<脚本名称>().函数名(参数);调用
注意:上述其实省略了一个this对象,表示本身,意思是说你用
GetComponent<脚本名称>() 获取的对象是此脚本所挂载的对象上的此C#脚本对象
如果你要调用其他物体的脚本的成员,请使用Obj.GetComponent<脚本名称>().函数名(参数);这里Obj指的是其他物体的GameObject对象
如果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