统一创建菜单的最佳做法是什么?

时间:2015-10-02 10:58:27

标签: unity3d

在我们设计的手机游戏中,存在三种不同的类似菜单:

  • 主菜单(包含一系列图标,如主页,设置,共享,切换 声,....)
  • 暂停菜单(几乎与文字和图标大小相同) 展示位置变更)
  • EndGame(非常类似于暂停菜单以及重启游戏的选项)

现在,至少有两种方法可以考虑创建这些菜单:

  • 创建一个菜单并更改所需图标/文本的位置和大小 在脚本
  • 只需在Unity UI中创建3个不同的面板,然后调用每个面板 需要的。

由于在两种情况下使用的资产都是相同的(嗯,在第二种情况下可能更多的游戏对象),哪一个是更好的解决方案? 我可以像创建菜单一样轻松地编写脚本(两者都需要几乎相同的时间来开发)

2 个答案:

答案 0 :(得分:2)

我建议制作某种MenuViewManager类,能够从XML文件加载菜单视图。这可以使您在将来获得良好的翻译系统,并且可以对变化做出非常敏感的反应。

我在这里找到了一些可以帮助您入门的文章: http://unitynoobs.blogspot.com/2011/02/xml-loading-data-from-xml-file.html

答案 1 :(得分:2)

我建议使用一个带有多个面板的Canvas。每个面板可以用于不同的菜单(主要,暂停,游戏结束)或同一菜单中的一组不同选项(主要,设置)。

在“画布”上放置一个脚本,其中包含拖动每个面板的位置。然后从代码中打开/关闭面板。

您还可以创建一个附加到面板的脚本,该面板具有公共Button变量,您可以在检查器中指定这些变量。您在检查器中拖动的Button对象可以是预制件,因此您可以在任何菜单中重复使用它们。

您拥有的重用次数越多,效率就越高。