在Unity中如何跨场景获取变量
时间: 2024-02-21 07:02:08 浏览: 319
Unity3D切换场景时判断场景是否加载完成1
在Unity中,可以使用`DontDestroyOnLoad`方法来保留一个游戏对象,使其可以在场景切换时不被销毁。这样,在多个场景中都可以访问该对象及其变量。
具体步骤如下:
1. 创建一个空的游戏对象,命名为`GameManager`(或其他你喜欢的名字)。
2. 在`GameManager`上添加一个脚本,定义你想要在不同场景中共享的变量,并将其声明为`public static`类型。例如:
```
public static int score = 0;
```
3. 在脚本中添加以下代码:
```
void Awake()
{
DontDestroyOnLoad(gameObject);
}
```
这样,当场景切换时,`GameManager`游戏对象不会被销毁,其中的变量也可以在不同场景中共享。
4. 在其他场景中的脚本中,通过以下方式访问`GameManager`中的变量:
```
int myScore = GameManager.score;
```
这样,你就可以在不同场景中访问和修改`score`变量了。
阅读全文