游戏模式加载UXML

安装Tookit

想在游戏模式运行uxml,现阶段需要在包管理器中安装tookit的,
Installing the UI Toolkit package

打开package manager(包管理器):

  1. Click Add ( + )
  2. From the menu, choose Add package from git URL… . A text field appears.
  3. In the text field, type com.unity.ui
  4. Click Add .

编辑UXML USS

官方提供编辑器,UIBuilder,从包管理器安装可以。同时也可以使用Preview视图查看点击效果,通过uitookit提供debugger菜单,查看实际的UI层次以及最终应用的uss参数。部分类似于chrome debug功能。

加载UXML

官方文档上给了Editor中加载的方法,官方视频给了一个PanelRender脚本。其实预览版中发布了另外一个脚本UIDocument,挂到游戏物体上,设置uxml,在Project视图创建panel设置,即可。在安卓手机上试过,正常运行,很神奇。极大触发了我制作UI的热情。

UIDocument是MonoBehavior的子类,所以,我们可以直接把它挂到游戏物体上,也可以创建子类继承它,在子类中使用成员变量 rootVisualElement,如果你看过UIBuidler的教程,就会rootVisualElement并不陌生,通过它,就可以和我们之前看到的那些教程联系起来,教程里所使用的方法放到这里也都再次适用。

一直期待在unity中能有种,类似html开发的UI开发方式,现在的uxml就是了。

添加事件系统

这时你运行场景,会发现ui能正常加载,但是点击按钮 、滚动条,却完全没有反应,也没有视觉变化。是的,同普通UI系统一样,需要EventSystem,而UIToolkit拥有独立的事件系统,虽然类名一样,但包名不同 Unity​Engine.​UIElements,不是同一个类。我们可以创建它的一个子类,挂到场景物体(取名EventSystem)上。
再次运行场景,点击按钮就有了颜色变化,滚动条也有了反应。

至此为止,我们在别的教程中学到的UIToolkit的知识,接下来就可以运用起来了。参考普通的UIBuilder教程吧。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

49 − 44 =