unity"3d"c访问其他类变量

2021-01-26 11:16:15 字数 3429 阅读 9080

1楼:匿名用户

首先num必须是 public int num;

假设脚本a在物体b里面;

a ascript = gameobject.find("b").get***ponent();

int num = a.num;

2楼:匿名用户

a.cs里:

public class a : monobehaviourvoid updata()

}然后在b.cs里直接继承过来:

public class b : monobehaviourvoid updata()}

unity3d 使用c#如何访问某个对象里的c#脚本里的一个变量

3楼:匿名用户

把你要获取的变量权限定义为public 类型 变量.

以下方法任意一个都可以:

一:public gameobject 另一个物体; //监视面板拖拽赋值

另一个物体.get***ponent《脚本》().变量 获得并更改.

二:将另一个物体命名为"***".

gameobject.find("***").get***ponent《脚本》().变量;

三:将另一个物体tag改为"***";

gameobject.findgameobjectwithtag("***").get***ponent《脚本》().

变量; 需要注意的是如果多个物体共用一个tag可能得到的结果并不是你预期的.

其他还有很多的方法.这些就足够你用的了.

unity3d 一个c#类怎么调用另一个c#类中的属性和方法

4楼:的问的人

你这个有错误。 b类中的a类没有实例化,要报错。 class b

unity脚本中变量在另一个脚本如何调用

5楼:红旗下的蛋蛋

不太清楚实际情况,但是,

(1)你这样写的前提是,a 和 b 必须同时实例化到同一个gameobject上(这两个脚本得同时应用到一个物体上),否则你的a = get***ponent()肯定为null ,因为b调用这个get,而他本身所处的gameobject本没有a这个脚本组件,a的实例在另一个物体上。 估计这是你报错的一个原因。

(2)用static声明全局变量似乎没必要,static的作用应该是让变量在类被实例之前就得到实例化。用static的话,那么应该是要达到这样的目的,即用类名直接调用变量或函数(mathf类里面的很多数学数值和函数都是这样的例子),你这个情况如果用了static那就最好应该为了这样的目的:

a.roadnode.count

(3)实时操作数组,最好用list<>,具体可以参考msdn list的用法,

(4)如果你的目的只是为了让b能够通过**访问a的变量,一般的public 变量就足够,其余你只需要解决b通过何种途径正确访问a。比如,你可以把a做成singleton:

static a instance;

awake()),让a有一个static实例指向自己, 那b就直接用 a.instance 来获取a的实例,这样就可以在任何地方直接访问a的变量和函数。

又或者用 gameobject.find("名字") 遍历所场景中所有有的对象,最后用get***ponent找到a的实例,这个方法效率很低,最好是在初始化函数里调用。

6楼:匿名用户

1、首先我们创建一个新的项目。

2、在layout下选择2 by 3,如图所示。

3、此时我们切换到project面板。

4、在project面板空白处右键选择create》c#,,如图。

5、创建完成,可以自行命名。

6、双击打开即可编写脚本。

7楼:钢神绿钢

1.新建两个脚本,在脚本2中实例化脚本1。

2.在脚本2中用脚本1实例化对象调用脚本1中的公有变量,赋初值。

3.创建两个物体,将两个脚本绑定不同物体。

4.将物体1拖拽到脚本2的变量上进行赋值。

8楼:手机用户

在a.js中用静态声明 static var 变量:bool;

然后在b.js中直接用 b.变量 调用;

或者用 gameobject.find("gameobject名字").get***ponent(a).变量 调用;

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

9楼:匿名用户

例:第一个脚本bai

名字为class_1,第du

二个脚本名字zhi为class_2,class_1调用class_2如果daoclass_2没有

绑定在回任何gameobject上,那答在class_1里写法:

class_2 c2 = new class_2();

如果class_2绑定在gameobject上,那在 class_1里写法:

class_2 c2 = null;

void start()

10楼:约翰列能

有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变量)

11楼:吼

对于静态script(可以不继承monobehiviour)

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

对于组件

如果是内静态成员,同上

如果是动态

容成员,可以用get***ponent《脚本名称》()来获取此脚本的类

也就是使用get***ponent《脚本名称》().函数名(参数);调用

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

get***ponent《脚本名称》() 获取的对象是此脚本所挂载的对象上的此c#脚本对象

如果你要调用其他物体的脚本的成员,请使用obj.get***ponent《脚本名称》().函数名(参数);这里obj指的是其他物体的gameobject对象

unity3d c#怎样调用另外一个c#脚本里面数据

12楼:匿名用户

用c/c++写插件,用c#调用插件实现的功能,这个毫无疑问吧!问题你做的游戏版本支持吗?pro版本这个版本要收费的,建议您使用aei这版本,免费也合用unity的编程语言,谢谢您的问题,同行!

java怎么在方法调用其他的方法的变量(在同类里

1楼 好程序员 java 变量的作用范围有四个级别 类级 对象实例级 方法级 块级。 类级变量又称全局级变量,在对象产生之前就已经存在,就是用 static 修饰的属性。 对象实例级,就是属性变量。 方法级 就是在方法内部定义的变量,就是局部变量。 块级 就是定义在一个块内部的变量,变量的生存周期就...