Unity 静态变量跨场景操作
作者:Yan_Sl 发布时间:2023-10-16 14:32:41
标签: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变量,也不需要实例化类,跳转后直接读取就行了
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://blog.csdn.net/u014761712/article/details/79252961
0
投稿
猜你喜欢
- 本文实例为大家分享了convinientbanner顶部广告轮播控件的具体代码,供大家参考,具体内容如下gradle中添加compile &
- 生产者和消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一个存储空间,如下图所示,生产者向空间里存放数据,而消费者取用数
- 深入理解IOC思想spring本质就在于将对象全部交由给spring容器创建和管理,由容器控制对象的整个生命周期、核心就是IOC控制反转和A
- 1、springboot controller 单例Spring中 controller默认是单例的,因为单例所以不是线程安全的。所以需要注
- 本文实例讲述了基于JavaMail API收发邮件的方法。分享给大家供大家参考。具体如下:1.JavaMail API按其功能划分通常可分为
- 之前我在SpringBoot老鸟系列中专门花了大量的篇幅详细介绍如何集成Swagger,以及如何对Swagger进行扩展让其支持接口参数分组
- SpringAOP 通过JoinPoint获取参数名和值在Java8之前,代码编译为class文件后,方法参数的类型固定,但是方法名称会丢失
- 本类适用于比较2个字符的相似度,代码如下:using System;using System.Collections.Generic;usi
- ThreadLocal与线程成员变量还有区别,ThreadLocal该类提供了线程局部变量。这个局部变量与一般的成员变量不一样,Thread
- 一 引入考虑实现一种三轴机器人控件。三轴机器人用来将某种工件从一个位置运送到另一个位置。其X轴为手臂轴,可以正向和反向运动,它处于末端,直接
- 🌱1. 什么是反射机制?首先大家应该先了解两个概念,编译期和运行期,编译期就是编译器帮你把源代码翻译成机器能识别的代码,比如编译器把java
- 一、Maven聚合开发_继承关系 Maven中
- Web UI项目中, 很多 Spring controller 视图函数直接返回 html 页面, 还有一些视图函数是要重定向或转发到其他的
- 描述项目中用到boot 整合 mybatis-plus , 个人在使用分页条件查询的时候一直查不出 total, pages, 终于找到原因
- 用Linq从一个集合选取几列得到一个新的集合-可改列名
- 本文实例讲述了C#中累加器函数Aggregate用法。分享给大家供大家参考。具体如下:var shouldExclude = false;v
- 先讲一下java中的反射:反射就是将类别的各个组成部分进行剖析,可以得到每个组成部分,就可以对每一部分进行操作反射机制应用场景:逆向代码、动
- 一、前言通过前面我们也知道,通过getMapper方式来进行查询,最后会通过mapperMehod类,对接口中传来的参数也会在这个类里面进行
- 传统“长轮询”实现Web端即时通讯的问题WebSocket出现之前,Web端为了实现即时通讯,所用的技术都是Ajax轮询(polling)。
- 原因每次使用idea新建项目,就会在默认的c盘下的一个maven仓库中下载jar包,可是我自己指定maven仓库不是这个。如何让idea在新