我有主场景(街道)和许多儿童场景(房屋),我可以从主场景中来到这里。当我来到一个家,然后回到街上,我需要放置在那个房子附近的玩家对象,他在那里。所以我需要用DontDestroyOnLoad
来记住他的位置。
但是当我回到家时,我需要从主场景中禁用播放器对象,这里我的代码不起作用。在模拟中首次使用此脚本后,我无法向上/向下移动光标,只能向左/向右移动(这是第一人称射击游戏)
public PS plr;
private GameObject playerOnMainScene;
public void Awake()
{
PlayerSingleton();
DisablePlayerOfMainScene();
}
void PlayerSingleton()
{
if (!plr)
{
DontDestroyOnLoad(gameObject);
plr = this;
}
else
Destroy(gameObject);
}
void DisablePlayerOfMainScene()
{
playerOnMainScene = GameObject.FindGameObjectWithTag("PlayerOnMainScene");
if (SceneManager.GetActiveScene().name != "MainScene")
{
Debug.Log("1"); // this code doesn't work when scene name != "MainScene"
playerOnMainScene.SetActive(false);
}
else
playerOnMainScene.SetActive(true);
}