我目前正在尝试向游戏中添加升级系统,该升级系统可在游戏场景中使用。但是,我有多个场景。我如何添加一个升级场景,玩家可以选择升级场景所需的技能。我需要将关卡系统设为静态吗?
答案 0 :(得分:1)
您可以使用DontDestroyOnLoad方法在场景之间携带对象,这样可以确保Player对象或包含您的播放器数据的对象转到另一个填充了先前信息的场景。
有关Redis Sentinel的更多信息
答案 1 :(得分:0)
您可以使用PlayerPrefs
将关卡保存在多个场景中。您只需在升级场景中分配一个值,然后在加载新值时访问该值。
PlayerPrefs.GetInt(string key)
获取“键”中变量的值。
PlayerPrefs.SetInt(string key, int value)
将“值”存储在“键”中的变量中
升级
// Access the previous value
int speed = PlayerPrefs.GetInt("Speed");
// Increment the value
speed++;
/// Store the value
PlayerPrefs.SetInt("Speed", speed);
负载水平
void Start
{
// Load stats
int speed = PlayerPrefs.GetInt("Speed");
int strength = PlayerPrefs.GetInt("Strength");
int health = PlayerPrefs.GetInt("Health");
int stamina = PlayerPrefs.GetInt("Stamina");
}
答案 2 :(得分:0)
您可以将级别变量设置为static
变量,这使其成为所有脚本/场景的通用值。我认为那是最适合您的。
PlayerPrefs
不错,您可能需要PlayerPrefs.DeleteKey
并重新应用新的并更新旧的。太复杂了,请使用静态变量。
看看这个Unity链接-https://unity3d.com/learn/tutorials/topics/scripting/statics
确切地阐明了我想说的内容,但对其进行了详细说明。