首页 文章

Unity - 如何从不同的场景中获取GameObjects?

提问于
浏览
0

首先,我是初学者,所以对我很轻松 . 我正试图从另一个场景激活和停用GameObjects(游戏中的玩家) . 基本上,当用户按下商店场景中的某个按钮时,我正在尝试通过停用当前玩家模型并在游戏场景中激活想要的玩家模型来改变游戏场景中的玩家,但是我无法访问游戏对象(玩家在游戏场景)来自商店场景的游戏场景 . 有谁知道我能做什么?

1 回答

  • 0

    您必须以持久的方式保存选择 .

    可以有多种选择 . 在你的情况下,最简单的是PlayerPrefs .

    假设你有一个脚本用于在商店场景中选择你的游戏对象和一个脚本来启用游戏场景中的相应玩家 .

    // Shop Scene
    public void SelectPlayer( GameObject gameobject )
    {
        PlayerPrefs.SetString( "selectedPlayer", gameObject.name ) ;
        PlayerPrefs.Save();
    }
    
    // ----------
    
    // GameScene
    public GameObject[] Players; // Drag & Drop the possible players
    
    private void Awake()
    {
        string selectedPlayer = PlayerPrefs.GetString( "selectedPlayer" ) ;
        for( int i = 0 ; i < Players.Length ; ++i )
            Players[i].SetActive( String.Equals(Players[i].name, selectedPlayer, StringComparison.Ordinal);
    }
    

    这是一个非常简单的例子,你必须适应你的需要 . 但是没有你的代码,我无法帮助你 .

相关问题