[Unity] 如何在Unity中使用全局变量

查看:794 |回复:9 | 2021-2-23 18:09:05

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 源数之力 于 2021-3-2 14:36 编辑

如何在Unity中使用全局变量
2021-2-23 18:09:05  
 赞 赞 0

使用道具 登录

9个回答,把该问题分享到群,邀请大神一起回答。
2#

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

using System.Collections;using System.Collections.Generic;using UnityEngine;public class Globle {    public static int globle= 1;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

和以前的许多语言不同,C#没有全局变量或全局函数。C#的所有字段和方法都在类的上下文中。在C#中,与全局字段或函数等价的是静态字段或方法。“全局变量/函数”和“C#静态字段/方法”在功能上没有差异,只是静态字段/方法可包含访问修饰符(比如private),从而限制访问并提供更好的封装。——《c# 7.0本质论》

回复 收起回复
2021-2-23 18:22:29   回复
 赞 赞 1

使用道具 登录

3#
C#没有全局变量的概念的。lua里面才有。。C#可以用静态类,或者单例类来做
回复 收起回复
2021-3-12 18:50:13   回复
 赞 赞 4

使用道具 登录

4#
C#没有全局变量或全局函数。可以使用单例或者静态的方法
回复 收起回复
2021-3-13 10:49:55   回复
 赞 赞 3

使用道具 登录

5#
元素果然有不少大神,这个问题我也想了解一下的
回复 收起回复
2021-3-19 09:53:45   回复
 赞 赞 1

使用道具 登录

6#
静态类或者单例类
单列类基类
public class Singleton<T>  where T:new ()
{
public static T instance;
publick T Instance
{
     get
{
if(instance == null)
    instance = new T();
   return instance;
}
}
}
回复 收起回复
2021-3-21 11:36:07   回复
 赞 赞 0

使用道具 登录

7#
static非常好用的,除了可以当作全局变量,还有很多其他用法。比如可以为所有实例建立索引,只需要在建立的时候把关联写入本类的static List表上
用法可谓千变万化,非常推荐
回复 收起回复
2021-3-21 21:59:02   回复
 赞 赞 1

使用道具 登录

8#
???你们在说什么呢?为什么每个字我都懂,连起来我就不懂了。
回复 收起回复
2021-3-24 19:02:50   回复
 赞 赞 0

使用道具 登录

9#
楼上的方法可以试试。static
回复 收起回复
2021-3-25 15:37:09   回复
 赞 赞 0

使用道具 登录

10#
元素是个好家园,加油啊
回复 收起回复
2022-11-3 17:37:31   回复
 赞 赞 1

使用道具 登录

CG 游戏行业专业问题

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表