本文选自StackOverflow(简称:SOF)精选问答汇总系列文章之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学习和了解国外最新技术。本文将为读者讲解Unity切换场景时如何回到原有场景状态。 问题: 我在用Unity3D做一个回合制的战斗游戏,有两个场景(小镇的场景和战斗的场景),每当角色遇到怪兽,游戏就切换到战斗场景,角色就在这里战斗,直到打败怪兽或者被击败。 问题是怎样才能在回到townScene时保持进入战斗场景时的状态(角色位置、状态等等) 如果我用:
然后:
然后小镇场景将从第一次启动。怎样才能让townScene继续从角色离开的时候开始呢? 答案: 我认为有两种方法。 根据你的目标平台和资源的重要性取舍。 1) 如果资源不是问题 你可以把所有的正常场景和战斗场景放在一个场景里。
2)如果资源是一个问题(我认为更有效的方法) 你可以使用 Application.LoadLevelAdditive 函数。这个函数能让你加载不同的场景,而不是摧毁当前场景的所有东西,所以基本上这样用它:
第一种方法,你可以决定是否想要两种不同的角色版本。两个版本的好处之一是如果你不想细究游戏模式(特别是你的游戏规模很大的时候),可以通过缩小town scene游戏模型和更详细的battle scene细节来提高处理能力。 原文链接:unity moving to another scene with current scene being paused 本文选自StackOverflow(简称:SOF)精选问答汇总系列文章之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学习和了解国外最新技术。本文将为读者讲解Unity切换场景时如何回到原有场景状态。 问题: 我在用Unity3D做一个回合制的战斗游戏,有两个场景(小镇的场景和战斗的场景),每当角色遇到怪兽,游戏就切换到战斗场景,角色就在这里战斗,直到打败怪兽或者被击败。 问题是怎样才能在回到townScene时保持进入战斗场景时的状态(角色位置、状态等等) 如果我用:
然后:
然后小镇场景将从第一次启动。怎样才能让townScene继续从角色离开的时候开始呢? 答案: 我认为有两种方法。 根据你的目标平台和资源的重要性取舍。 1) 如果资源不是问题 你可以把所有的正常场景和战斗场景放在一个场景里。
2)如果资源是一个问题(我认为更有效的方法) 你可以使用 Application.LoadLevelAdditive 函数。这个函数能让你加载不同的场景,而不是摧毁当前场景的所有东西,所以基本上这样用它:
第一种方法,你可以决定是否想要两种不同的角色版本。两个版本的好处之一是如果你不想细究游戏模式(特别是你的游戏规模很大的时候),可以通过缩小town scene游戏模型和更详细的battle scene细节来提高处理能力。 原文链接:unity moving to another scene with current scene being paused
|
|