关于在Unity中实例化脚本的问题
来源:互联网 发布:我爱摇滚乐 知乎 编辑:程序博客网 时间:2024/06/06 01:58
我们在学c#基础的时候,大家都知道想要获取一个实例类里面的公有成员,就必须在调用的时候实例化这个类。
比如有一个A类
class A
{
public int age;
}
class Progress
{
void Main()
{
A a = new A();//实例化A类 也称实例化对象
a.name;
Console.WriteLine(name);
}
}
那么如果在Unity中你想实例化一个继承了MonoBehaviour的一个B类呢? 这样还可以吗?
比如有一个B类:
class B : MonoBehaviour
{
public int age;
}
class C : MonoBehaviour
{
B b; 声明
void Start()
{
b = new A();//实例化B类 也称实例化对象
b.name;
print(b.name);
}
}
如果像上面那样写的话,打印出来的b.name是空的,null。愿意很简单。
因为在Unity中除了对象之外都是组件,就是说继承了MonoBehaviour的类想要运行,那么必须要挂在游戏物体上(GameObject)。也就是说此时 B类 已经是一个组件了。
所以我们就要以GetConponent<B>(); 的形式去访问了。不能new。
当然你做一个单例 public static C _instance;//单例访问也可以,GameObject.FindObjectOfType<GameObject>();查找类型也可以。
方式有很多,我们这里说的是为什么不能new,大家明白这个意思就好了,个人理解,有错误的,遗漏的地方还请多多留言。
- 关于在Unity中实例化脚本的问题
- unity脚本中运行时实例化一个prefab
- 在JAVA中关于String类实例化时内存的问题
- 关于unity在苹果环境中中文乱码的问题?解决办法!!
- 关于Unity发布Webgl在chrome中打开报错的问题
- Unity中脚本的生命周期
- LR 脚本在init中参数化的问题
- LR 脚本在init中参数化的问题
- unity中用vs或mono编译器编写的脚本在unity中不能被更新
- Unity脚本设计_①C#在Unity中运用的理解
- 关于linux中,在使用script脚本时,老是提示“ [ ” unexpected operator 的问题!
- 关于模板函数重载中对象实例化的问题
- 关于在Unity中启用外部的exe
- Unity中关于施加力的角度弧度问题
- 关于Unity中 截图跳转分享界面的问题
- Unity中关于Device Filter的选择问题
- Unity中关于Device Filter的选择问题
- 关于Unity中NGUI的相机深度问题
- Android 双击返回按钮退出应用
- Codeforces 591C Median Smoothing【思维】
- 富文本编辑器wangEditor在vue中的使用
- leetcode 453. Minimum Moves to Equal Array Elements
- 第12章 腾飞前的助跑——Direct3D 绘制基础
- 关于在Unity中实例化脚本的问题
- 测试图片
- Codeforces-274C:The Last Hole!(计算几何)
- Keil 出现Debug Error! DAMAGE:after Normal block
- .sh文件语法
- 通过例子学设计模式之--建造者模式以及使用场景说明(C++实现)
- 具有贝叶斯数据重构的鲁棒概率建模
- 初级电工基础知识复习
- JAVA设计模式