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

如题所述

例:第一个脚本名字为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>();

}

1、 类名+空格+变量名= (类名)GameObject.Find("类名").GetComponent("类名");

Debug.log(类名.变量名);

2、不知道你要全局变量有什么用,但你可以把变量存入缓存,用的时候再取,通常这种东西会用在场景切换。 PlayerPrefs.SetString()以及PlayerPrefs.GetString() 也许可以实现你的需求

3、screen.width是屏幕宽度,screen.height是屏幕高度,你自己算一下就可以了。

温馨提示:内容为网友见解,仅供参考
无其他回答

在unity3D: c# 怎样调用另外一个c#脚本里面东西?
直接用 脚本名.函数名(参数); 调用即可 对于组件 如果是静态成员,同上 如果是动态成员,可以用GetComponent<脚本名称>()来获取此脚本的类 也就是使用 GetComponent<脚本名称>().函数名(参数);调用 注意:上述其实省略了一个this对象,表示本身,意思是说你用 GetComponent<脚本名称>() 获取的对象是此脚...

在unity3D: c# 怎样调用另外一个c#脚本里面东西?
例:第一个脚本名字为Class_1,第二个脚本名字为Class_2,Class_1调用Class_2 如果Class_2没有绑定在任何GameObject上,那在Class_1里写法:Class_2c2=newClass_2();如果Class_2绑定在GameObject上,那在Class_1里写法:Class_2c2=null;voidStart(){ c2=GameObject.Find("绑定的GameObject名字")....

unity3d 使用c#如何访问某个对象里的c#脚本里的一个变量
以下方法任意一个都可以:一:public GameObject 另一个物体; \/\/监视面板拖拽赋值 另一个物体.GetComponent<脚本>().变量 获得并更改.二:将另一个物体命名为"XXX".GameObject.Find("XXX").GetComponent<脚本>().变量;三:将另一个物体Tag改为"XXX";GameObject.FindGameObjectWithTag("XXX").GetComp...

Unity3D中在一个脚本中怎么获得另一个脚本中的变量
1.新建两个C#脚本 2.在test1脚本中定义一个整型变量speed并赋值60,在开始函数中输出结果 3.在test2中定义共有类变量t1,test1类成员t1.speed赋值10并输出结果 4.将脚本拖拽到场景中的物体上,其中,T1一栏需要拖拽物体上的test1脚本 5.观察控制台输出结果(先60,后10)

Unity3D中在一个脚本中怎么修改另一个脚本中定义的全局变量,比如定义...
C# 中没有全局变量,你是不是指成员变量(用 UnityScript 语言只是省略的类名,那里看上去的全局变量其实也是成员变量)。有好几种方法都可以 1. 把另一个类中的成员做成 static 的,用 MyClass.member 的方法调用 2. 把另一个类(继承于 MonoBehaviour)做出单件模式,用类似下面的方法:private ...

unity3d中,c#程序的一个公共变量,在同一个场景中的其他c#程序中可以使...
你可以把该公共变量定义为static 那么其他的脚本都能通过类名.变量名来访问 如果不这么做的话,由于对象脚本继承自MonoBehaviour所以无法通过构造函数实例化;那么你就只能在该脚本所绑定的游戏对象被创建时通过GameObject.find(对象名).GetComponent<脚本名>().变量名来访问 ...

unity3d 不同脚本之间怎么传递参数
用c#通过公共类传递,例如classA,B,在B中调用A中的变量

unity3d c#脚本小问题
第一行是在建立一个胶囊基本体,而第二行是获取这个基本体上的刚体组件,如果没有其他代码的话,这个刚体组件还没附加上,可以用AddComponent()函数来附加rigidbody组件。c#的话,一般用 GetComponent<Rigidbody>() 这种方式来获取

unity3D怎么使用C#的DLL
unity3D调用C#的DLL的步骤如下:1、编写要引用的程序集。用户可以编写任何用途的程序集,就像用C#开发.net类库一样。不过需要注意的是,如果要编写从Unity继承的类(比如从MonoBehaviour派生的组件等等),则不能使用namespace,目前的Unity不支持,用了编译报错。2、将程序集DLL放置到目标Unity工程的Asset...

unity3D怎么使用C#的DLL
1) 添加引用关系 如果有对UnityEngine、UnityEditor的引用,需要先添加引用关系。路径通常位于Unity安装目录下的Editor\/Data\/Managed路径下。2) 生成DLL文件 建立项目时,选择“类库”。目标框架.Net Framework的版本,只能选择3.5及以下版本。3) 在项目中引用DLL文件 Unity会自动加载相应的DLL文件,所以DLL...

相似回答