c# - 将输入字段的浮点数转移到 Unity 和 C# 中的新场景和新脚本
问题描述
我有一个汽车游戏,你在一个场景中定义所有设置,比如速度,然后你可以按播放,新的场景出现。
第一个场景的代码是这样的,它附加到一个空的游戏对象:
using UnityEngine;
using UnityEngine.UI;
public class Data : MonoBehaviour {
static public float speed=10f;
public InputField speedField;
void Update()
{
speed = float.Parse(speedField.text);
Debug.Log(speed);
}
}
在下一个场景中,我必须在一个名为“驾驶”的脚本中处理速度,该脚本附加到汽车上。而且我必须销毁数据脚本,因为在下一个场景中我没有输入字段。我怎样才能获得速度?
我尝试了几个小时,但我无法为这个简单的问题找到解决方案。谢谢。
解决方案
有很多方法可以解决这个问题,我建议使用静态脚本仅保存数据,但不能将其分配给游戏对象。这是一种简单的方法,因为您不需要使用单例。
public static class Data{
private static int speed
public static int speed{
get
{
return speed;
}
set
{
speed = value;
}
}
如果要将脚本分配给游戏对象,请使用 DontDestroyOnLoad(gameObject); 或者使用 playerprefs 来保存数据。
推荐阅读
- flutter - 将颤振项目迁移到空安全性失败并出现“RangeError(索引):无效值:有效值范围为空:0”
- react-native-ios - 归档 IOS 应用程序以响应本机错误时出错:ld: library not found for -lFBReactNativeSpec
- angular - 表单控件在组数组表单Angular中返回Null的问题
- javascript - 问:js 文件向我显示内容而不是执行它
- c# - EditorConfig:允许或强制私有字段以下划线开头
- python - Printing the console to a log file is not reversible in Spyder for Python
- javascript - Android 应用程序与 WIX 网站上的assetlinks.json 链接
- powershell - 使用活动目录命令的 Powershell 在函数外部工作,但不在函数内部工作
- c# - C# 泛型类,但是如何?
- maven - 如何在 maven 项目中使用 smartics-jboss-modules maven 插件