0

我用以下内容创建了一个 pong 克隆:主菜单(新游戏、选项、关于、退出)。Level1(可以按 ESC 打开暂停菜单面板(继续游戏、选项、退出主菜单)。

到目前为止,我已经从主菜单场景中复制了我的选项面板,并将其粘贴到 Level1 场景中。有更好的方法吗?我可以从我的 Level1 场景调用主菜单选项面板吗?我想创建一个 Options 预制件会是另一个想法吗?

我想在处理选项菜单(声音开/关,声音可通过滑块调节,音乐开/关,音乐可通过滑块调节)之前对其进行排序 - 希望我可以实现它,使其涵盖所有场景。

顺便说一下,这是在 C# 中,在 Unity 中。

4

1 回答 1

1

您不能直接更改其他场景中的值,因为此时实例不存在,但您可以使用 PlayerPrefs 保存退出场景的数据,并且在加载场景时,您可以在 UI 中加载该数据。

例如,您可以像这样保存和加载音量:

float mySoundVolume;

void OnDestroy(){
   PlayerPrefs.SetFloat("SoundVolume", mySoundVolume);
}
void Awake(){
   mySoundVolume = PlayerPrefs.GetFloat("SoundVolume");
   applyValuesToUI();
}

您可以在此处阅读有关 PlayerPrefs 的更多信息。https://docs.unity3d.com/ScriptReference/PlayerPrefs.GetFloat.html

于 2017-05-16T22:54:04.000 回答