我的问题是如何在多个场景中共享相同的 GUI。
例如:
我在农场场景中有库存 GUI,我在城堡、地牢等其他场景中需要这个 GUI。
制作 Canvas 的预制件是个好主意吗?还是重新设计GUI?混合“共享 GUI”和单独的 GUI(如对话框等)怎么样?
感谢您的任何回答。
我的问题是如何在多个场景中共享相同的 GUI。
例如:
我在农场场景中有库存 GUI,我在城堡、地牢等其他场景中需要这个 GUI。
制作 Canvas 的预制件是个好主意吗?还是重新设计GUI?混合“共享 GUI”和单独的 GUI(如对话框等)怎么样?
感谢您的任何回答。
除了 GUI 本身,您还需要一些脚本来分别处理每个元素和属性。
看看单例代码;它展示了如何创建持久对象,该对象跨越不同的场景。
http://wiki.unity3d.com/index.php/Singleton
使用此设计模式编写需要在不同级别上可见的 GUI 脚本是一种很好的做法。
你当然可以为你需要的每个屏幕制作一个画布的预制件,尽管如果你必须销毁它并重新生成它很多,它可能会导致性能下降。另一种方法是创建一个画布,将所有屏幕作为子屏幕,全部禁用,并根据需要启用每个屏幕。这样做的优点是不会一次进行大量计算,但不利的一面是,将其全部保存在内存中会产生一些开销。对于小型游戏,我推荐后者,如果您需要扩大规模,您可以将两者混合使用:拥有具有多个相关屏幕的画布,理想情况下,屏幕以仅在特定情况下可访问的方式分组,让您在场景中保留尽可能少的画布。