在Unity中使用全局变量的操作

作者:阿晚喵 时间:2022-12-30 13:18:47 

创建一个脚本,输入下面的代码。脚本不需要添加到任何物体上,globle变量可以跨场景全局调用。


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Globle {
   public static int globle= 1;
}

和以前的许多语言不同,C#没有全局变量或全局函数。C#的所有字段和方法都在类的上下文中。

在C#中,与全局字段或函数等价的是静态字段或方法。

“全局变量/函数”和“C#静态字段/方法”在功能上没有差异,只是静态字段/方法可包含访问修饰符(比如private),从而限制访问并提供更好的封装。——《c# 7.0本质论》

补充:Unity中全局变量的赋值过程

使用Unity开发的朋友可能会遇到这样一个问题,那就是我在脚本中定义了一个公共全局变量并且赋值,但是运行后发现这个变量并不是这个值,这里就给大家解释一下原因。

代码如下:


public class Test : MonoBehaviour {
   public int a = 10;
   void Awake()
   {
       a = 20;
   }
   void Start () {
       a = 30;
}
}

由于是public类型,所以变量a会在Unity面板中显示出来,如下图:

在Unity中使用全局变量的操作

那么这个变量a的赋值顺序是怎样的呢?

1.首先a的值是定义时赋的值10。

2.然后a的值被Unity面板中的15替换。

3.然后a的值被Awake中的20替换。

4.然后a的值被Start中的30替换。

看到这个结果相信大家都知道原因了,要初始化的公共变量最好放到start中,而不要相信定义时的效果。当然你也可以使用[HideInInspector]让变量不显示在Unity面板中。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

标签:Unity,全局变量
0
投稿

猜你喜欢

  • Shiro 控制并发登录人数限制及登录踢出的实现代码

    2023-09-18 02:03:56
  • 解决try-catch捕获异常信息后Spring事务失效的问题

    2022-11-15 03:17:33
  • 解决EditText不显示光标的三种方法(总结)

    2023-09-19 08:05:10
  • Java二维数组与稀疏数组相互转换实现详解

    2022-10-28 07:27:33
  • Android程序美化之自定义ListView背景的方法

    2023-12-13 17:52:57
  • Java编程中的4种代码块详解

    2022-01-04 03:10:20
  • Unity 使用tiledmap解析地图的详细过程

    2023-06-02 18:40:57
  • java常量字符串过长报错的解决办法以及原因分析

    2023-10-18 10:15:25
  • SpringBoot中如何对actuator进行关闭

    2022-11-30 01:56:37
  • JAVA实现LRU算法的参考示例

    2022-01-26 21:56:49
  • C#实现简单串口通讯实例

    2022-06-18 11:29:42
  • java dump文件怎么生成和分析-JMAP用法详解

    2021-06-03 23:59:43
  • 使用c#+IMap实现收取163邮件

    2023-07-21 22:44:31
  • Android实现Activity、Service与Broadcaster三大组件之间互相调用的方法详解

    2023-04-09 08:51:30
  • Android 开发之dataBinding与ListView及事件

    2023-10-13 21:14:28
  • Android实现九格智能拼图算法

    2021-11-07 22:40:11
  • C# DataSet的内容写成XML时如何格式化字段数据

    2023-04-14 09:01:28
  • Mybatis返回插入的主键问题解决方案

    2023-05-06 02:58:03
  • Spring Boot使用profile如何配置不同环境的配置文件

    2023-11-25 12:52:36
  • Springboot+Mybatis-plus不使用SQL语句进行多表添加操作及问题小结

    2021-09-30 10:31:10
  • asp之家 软件编程 m.aspxhome.com