Unity 静态变量跨场景操作

 更新时间:2021年04月13日 15:04:38   作者:Yan_Sl  
这篇文章主要介绍了Unity 静态变量跨场景操作方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

创建两个场景同时赋值StaticVarious 脚本 然后按键好,H ,J 进行不断切换场景,会发现unity 控制台输出数字不断增加,然后把静态去掉,这样结果都是10。

using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class StaticVarious : MonoBehaviour {
    static int value = 10;
    void Start () {
        Debug.Log(value++);
    }
    public void Update()
    {
        if (Input.GetKeyDown(KeyCode.H))
        {
            SceneManager.LoadScene("test4");
        }
        if (Input.GetKeyDown(KeyCode.J))
        {
            SceneManager.LoadScene("test3");
        }
    }
}

补充:Unity场景间数据传递方法

在游戏开发中,会常用到场景间传递数据的方法(比如关卡选择,过关后自动回到关卡选择界面,以动画方式解锁下一关),

目前研究了三种:

1. 使用DontDestroyOnLoad方法:

(1)在场景A中做个GameObject,身上挂个脚本,在Start方法中写明

DontDestroyOnLoad(gameObject);

这个表示在场景跳转后,不需要Destory这个物体,在下个场景中这个物体依然保留,运行后,在Hierarchy视窗中也会自动生成这样的游戏物体

跳转到场景B中,再从这个游戏物体身上取脚本组件和值

2. 使用PlayerPrefs进行永久存储

这种方式应该会以文件的方式存储在存储器中,


设值

PlayerPrefs.SetInt("CurrentLevel", 10);

读值

PlayerPrefs.GetInt("CurrentLevel")

3.使用static变量

这种方式很不错,自己设计一个class,把要存储并传递的变量做成public static变量,也不需要实例化类,跳转后直接读取就行了

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

相关文章

  • C#字符串String及字符Char的相关方法

    C#字符串String及字符Char的相关方法

    这篇文章介绍了C#字符串String及字符Char的相关方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • C#/VB.NET实现从PPT中提取图片的示例代码

    C#/VB.NET实现从PPT中提取图片的示例代码

    PPT是用于制作幻灯片(演示文稿)的应用软件,每张幻灯片中都可以包含文字、图形、图形、表格、声音和影像等多种信息。本文主要介绍了如何实现从PPT中提取图片的功能,需要的可以参考一下
    2023-03-03
  • C#使用Dispose模式实现手动对资源的释放

    C#使用Dispose模式实现手动对资源的释放

    这篇文章主要介绍了C#使用Dispose模式实现手动对资源的释放,涉及C#采用Dispose模式操作资源的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • C#实现char字符数组与字符串相互转换的方法

    C#实现char字符数组与字符串相互转换的方法

    这篇文章主要介绍了C#实现char字符数组与字符串相互转换的方法,结合实例形式简单分析了C#字符数组转字符串及字符串转字符数组的具体实现技巧,需要的朋友可以参考下
    2017-02-02
  • WinForm中的几个实用技巧汇总

    WinForm中的几个实用技巧汇总

    这篇文章主要介绍了WinForm中的几个实用技巧,是进行C#程序设计中经常用到的技巧,需要的朋友可以参考下
    2014-08-08
  • C#学习基础概念二十五问

    C#学习基础概念二十五问

    C#学习基础概念二十五问...
    2007-04-04
  • 基于不要返回null之EmptyFactory的应用详解

    基于不要返回null之EmptyFactory的应用详解

    本篇文章对不要返回null之EmptyFactory进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C#如何动态创建Label,及动态label事件

    C#如何动态创建Label,及动态label事件

    这篇文章主要介绍了C#如何动态创建Label,及动态label事件,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • C#实现图片轮播功能的示例代码

    C#实现图片轮播功能的示例代码

    这篇文章主要为大家详细介绍了如何利用C#实现图片轮播功能,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
    2022-12-12
  • 深入分析c# 继承

    深入分析c# 继承

    这篇文章主要介绍了c# 继承的相关资料,文中讲解的非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07

最新评论