如何制作过渡场景

问题描述 投票:0回答:1

我的角色进入门,将他们带到第 2 阶段,但是当角色返回到回到第 1 阶段的门户时,他们会回到游戏开始的地方,而不是在门前

我试图让我的角色从第二个场景移动到第一个场景,但是移动到她进入第二个场景的地方

c# unity-game-engine unityscript
1个回答
0
投票

欢迎来到堆栈溢出,也欢迎来到编程。

您正在寻找的是一种在场景切换时在场景之间“传输”数据的方法。虽然没有直接的方法在场景之间传输数据,但您想要的效果可以通过

  1. 拥有全局可访问的SingletonStatic实例。
  2. 加载场景时,脚本将从实例读取数据(在您的情况下,它将读取以确定玩家的起始位置)

静态类型

就您而言,我建议使用static类型,您可以查看此博客此短视频

public static class GlobalData {
    // Use an Enum if you need to represent more states,
    // or you can setup a more sophisticated state machine if necessary.
    public static bool PlayerCameFromStage2 { get; set; }
}
// In your player script...
public class YourPlayerScript: MonoBehaviour {
    void Start() {
        // Access the global static data here...
        if (GlobalData.PlayerCameFromStage2) {
            // Move to other starting point...
        }
    }
}

如果您想了解单身人士,我建议您查看此 YouTube 视频,然后查看

DontDestroyOnLoad

由于 Singleton 依赖于 GameObject“存储”你的数据,默认情况下,只要你切换场景,这些数据就会被销毁。

DontDestroyOnLoad
确保游戏对象在场景切换时不会被破坏。

© www.soinside.com 2019 - 2024. All rights reserved.