服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - 在Unity中使用全局变量的操作

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

2022-11-13 13:51阿晚喵 C#

这篇文章主要介绍了在Unity中使用全局变量的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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

?
1
2
3
4
5
6
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开发的朋友可能会遇到这样一个问题,那就是我在脚本中定义了一个公共全局变量并且赋值,但是运行后发现这个变量并不是这个值,这里就给大家解释一下原因。

代码如下:

?
1
2
3
4
5
6
7
8
9
10
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面板中。

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

延伸 · 阅读

精彩推荐
  • C#C# 基于消息发布订阅模型的示例(上)

    C# 基于消息发布订阅模型的示例(上)

    这篇文章主要介绍了C# 基于消息发布订阅模型的示例,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下...

    Hello——寻梦者!3872022-11-03
  • C#C# 使用multipart form-data方式post数据到服务器

    C# 使用multipart form-data方式post数据到服务器

    这篇文章主要介绍了C# 使用multipart form-data方式post数据到服务器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需...

    三五月儿3672022-10-07
  • C#C#程序员应该养成的程序性能优化写法

    C#程序员应该养成的程序性能优化写法

    工作和生活中经常可以看到一些程序猿,写代码的时候只关注代码的逻辑性,而不考虑运行效率,其实这对大多数程序猿来说都是没有问题的,不过作为一只...

    C#教程网7762022-01-19
  • C#C#编写SqlHelper类

    C#编写SqlHelper类

    在C#中使用ADO.NET连接数据库的时候,每次连接都要编写连接,打开,执行SQL语句的代码,很麻烦,编写一个SqlHelper类,把每次连接都要写的代码封装成方法...

    AMortal4022022-01-22
  • C#dotnet如何将文件删除到回收站

    dotnet如何将文件删除到回收站

    这篇文章主要给大家介绍了关于dotnet如何将文件删除到回收站的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用dotnet具有一定的参考学...

    lindexi3882022-07-14
  • C#c#代码生成URL地址的示例

    c#代码生成URL地址的示例

    这篇文章主要介绍了c#代码生成URL地址的方法,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下...

    超然6252022-11-11
  • C#C#线程委托实现原理及方法解析

    C#线程委托实现原理及方法解析

    这篇文章主要介绍了C#线程委托实现原理及方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参...

    八英里4062022-10-09
  • C#C#网络爬虫代码分享 C#简单的爬取工具

    C#网络爬虫代码分享 C#简单的爬取工具

    这篇文章主要为大家详细介绍了C#网络爬虫代码,教大家如何制作了简单的爬取工具,感兴趣的小伙伴们可以参考一下...

    12242021-12-01