您可以使用 PlayerPrefs 尝试这样的事情:
public class RenderController : MonoBehaviour {
// Check PlayerPrefs in Awake() to see if renderer should be enabled
void Awake(){
if (PlayerPrefs.GetInt ("rendererOn") == 0) {
renderer.enabled = true;
}
else
renderer.enabled = false;
}
void OnMouseDown(){
// If the renderer is enabled when clicked then disable renderer
if (renderer.enabled == true) {
renderer.enabled = false;
PlayerPrefs.SetInt("rendererOn",1);// Set state to 1(false)in PlayerPrefs
}
// If the renderer is disabled when clicked then enable it
else if(renderer.enabled == false){
renderer.enabled = true;
PlayerPrefs.SetInt("rendererOn",0);// Set state to 0(true)in PlayerPrefs
}
}
}
我在 Unity 中对其进行了测试,并且可以正常工作。基本上只是将渲染器组件的启用/禁用状态写入 PlayerPrefs 并且每次加载对象时都会检查最后一个状态是什么。如果您希望在游戏第一次加载时启用它,请记住将 rendererOn 全局变量设置为 0,就像我在上面所做的那样。