在Unity中使用全局变量的操作
作者:阿晚喵 发布时间:2022-12-30 13:18:47
标签:Unity,全局变量
创建一个脚本,输入下面的代码。脚本不需要添加到任何物体上,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面板中显示出来,如下图:
那么这个变量a的赋值顺序是怎样的呢?
1.首先a的值是定义时赋的值10。
2.然后a的值被Unity面板中的15替换。
3.然后a的值被Awake中的20替换。
4.然后a的值被Start中的30替换。
看到这个结果相信大家都知道原因了,要初始化的公共变量最好放到start中,而不要相信定义时的效果。当然你也可以使用[HideInInspector]让变量不显示在Unity面板中。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。


猜你喜欢
- 第一种方法string s=abcdeabcdeabcde;string[] sArray=s.Split('c') ;fo
- public class FileAccess{//储存所有文件夹名private ArrayList dirs;public FileAc
- 一、准备工作1、确定电脑上已经成功安装jdk7.0以上版本2、win10操作系统3、maven安装包 下载地址:http://maven.a
- 整理文档,搜刮出一个Android通过HTTP协议实现断点续传下载的代码,稍微整理精简一下做下分享。FileDownloader.java&
- 发送邮件在web开发中,发送邮件是一个很常用的功能,Spring Boot也集成了发送邮件的功能基本使用使用Spring Boot的发送邮件
- 快捷键辅助类 class HotKey { /// <summary> /// 如果函数执行成功,返回值不为0。 /// 如果函
- 前言:java.util.Set接口和 java.util.List接口一样,同样继承自 Collection接口,它与
- 一、单链表(Linked List)简介二、单链表的各种操作1.单链表的创建和遍历2.单链表的按顺序插入节点 以及节点的修改3.单链表节点的
- Spring Boot包含许多附加功能,可帮助您在将应用程序投入生产时对其进行监视和管理。可以选择使用HTTP端点或JMX管理和监视您的应用
- 零、Gallery的使用回顾我们有时候在iPhone手机上或者Windows上面看到动态的图片,可以通过鼠标或者手指触摸来移动它,产生动态的
- 最近找了一些资料,是讲在C#中设置快捷键运行方法或程序的 要设置快捷键必须使用user32.dll下面的两个方法。 BOOL Re
- 黑白棋介绍黑白棋,又叫苹果棋,最早流行于西方国家。游戏通过相互翻转对方的棋子,最后以棋盘上谁的棋子多来判断胜负。黑白棋非常易于上手,但精通则
- 一、pom.xml<dependency> <groupId>net.sf.ehcache
- 本文实例讲述了C#使用smtp发送带附件的邮件实现方法。可直接将string类型结果保存为附件。分享给大家供大家参考。具体分析如下:该方式直
- 本文实例讲述了C#基于UDP进行异步通信的方法。分享给大家供大家参考。具体如下:服务器端:using System;using System
- 注:作者使用IDEA + Gradle注:需要有一定的java SpringBoot and SSM+Springcloud基础程序测试错误
- 侧滑菜单在很多应用中都会见到,最近QQ5.0侧滑还玩了点花样~~对于侧滑菜单,一般大家都会自定义ViewGroup,然后隐藏菜单栏,当手指滑
- 本课程的目标是帮你更有效的使用Java。其中讨论了一些高级主题,包括对象的创建、并发、序列化、反射以及其他高级特性。本课程将为你的精通Jav
- 前言要会用,首先要了解。图懒得画,借鉴网上大牛的图吧,springcloud组建架构如图:微服务架构的应用场景: &n
- 想问下这是什么情况。在导入一个maven项目时只有一个finish,点击完finish后没有任何反应。。。各位大佬给看下这是什么问题。急,在