中易网

Unity3D中在一个脚本中怎么修改另一个脚本中定义的全局变量,比如定义

答案:1  悬赏:0  
解决时间 2021-01-05 12:05
Unity3D中在一个脚本中怎么修改另一个脚本中定义的全局变量,比如定义
最佳答案
C# 中没有全局变量,你是不是指成员变量(用 UnityScript 语言只是省略的类名,那里看上去的全局变量其实也是成员变量)。
有好几种方法都可以
1. 把另一个类中的成员做成 static 的,用 MyClass.member 的方法调用

2. 把另一个类(继承于 MonoBehaviour)做出单件模式,用类似下面的方法:
    private static MyClass instance;
    public static MyClass Instance {
        get {
            // This should NEVER happen, so we want to know about it if it does
            if (instance == null) {
                Debug.LogError("MyClass instance does not exist");
            }
            return instance;
        }
    }

    void Awake()
    {
        instance = this;
    }3. 因为 MonoBehaviour 的本身就是 Component,所以一个继承于 MonoBehaviour 的行为脚本本质上和 Transform、Collider 等一样是游戏对象组件。首先拿到这个脚本挂载的 gameObject(如果两个脚本挂载在一个 gameObject 下就不用得到,因为默认就是当前 gameObject),用 gameObject.GetComponent() 得到另一个类的运行实例。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
2018年甲山庚门向开财门吉日
c#common.logging 怎么用
12款晶锐精致版和09款晶锐精致版有哪些区别
同价位的钢笔派克和百乐哪个好
男生会对不认识的女孩子心动吗
什么是行政裁决、行政复议、行政诉讼。
写《日》或《月》的读后感..
腾讯游戏封号
海口东站到海口站剩几路公交?
中国电力商务网是国电专用招标平台吗
电梯基坑有很多水怎么回事?
打合会议是什么意思
亿房地产天顺园加盟店地址在什么地方,想过去
歌词中有they are的歌曲
建设银行ATM机存款上限是多少 我想存25000
推荐资讯
当八字显示克夫的时候,我们应该怎么去化解
所谓倒送电是怎么回事? 会产生哪两种严重后果
沈复 童趣 译文
麒麟宾馆(凤翔街)怎么去啊,有事要去办理
3.2x+1.6x是多少
关于红月的诗词
桃林铅锌矿一校怎么去啊,有事要去办理
森蓝网吧地址有知道的么?有点事想过去
做奶茶用达芬奇的糖浆好呢?还是用莫林糖浆的
赛治和丙硫氧嘧啶片成份是不是一样的
Cafetime地址好找么,我有些事要过去
己知m^2一mn=21,mn一n^2=-15求m^2一2mn+n^2
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?