Godot GUI:皮肤系统(一)

《Docs » GUI » GUI skinning》

哦,漂亮的皮肤

本教程是关于UI皮肤的高阶教程。大多数游戏顶多使用 Label/TextureRect/ TextureButton/TextureProgress,所以不会需要这个。

然而,很多类型的游戏常会有复杂的UI,比如MMO,传统的RPG,模拟类以及策略类游戏。还有一些包含游戏内编辑器,或者网络连接接口的游戏,它们的UI也会比较复杂。

主题

GUI的换肤是通过一种叫做主题(Theme)的资源。主题包含着所有更换UI所需的视觉风格信息。主题的选项已经被命名,因此有时让人搞不清楚哪个选项是修改哪个效果的(尤其是通过代码),因此我提供了一些工具。查询主题选项的终极方法是查看scene/resources/default_theme/default_theme.cpp,它永远是最新的。该文档的其它部分将解释用于自定义主题的不同工具。

主题可以应用于场景中的任意Control节点。然后其子节点以及孙子节点也将全部使用该主题(除非这些节点被指定了其它主题)。如果某个键值没有找到,它将在节点树中向上查找,直到找到根节点。如果什么都没找到,那么将使用默认主题。这个系统允许在复杂的UI中覆盖灵活地主题。

发布了261 篇原创文章 · 获赞 134 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/hello_tute/article/details/103730163