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