当前位置: 首页 > news >正文

Unity进阶之路(2)UI Toolkit

UI Toolkit是Unity内置的一个游戏UI解决方案。借鉴了web前端的设计模式。

web前端使用css,html,js。

其中css定义样式

html定义层级

js处理逻辑

UI Toolkit则是使用uss,uxml,C#

如果直接使用Unity提供的可视化UI创建工具创建UI面板,一个一个添加元素,只会生成uxml文件,样式直接通过内联样式的形式给出。

UI,User Interface的缩写。UI通常被认为是前端。所谓前端的本质,其实就是数据的映射。把数据映射成更加适合用户操作的模式,这就是前端。

我们通常需要解决几个问题:

数据输入:

数据处理:

数据输出:

在Unity中,我们可以从.csv文件中读取数据,作为数据的输入。这通常可以作为单机游戏的固定参数处理方式。比如各个等级的游戏数据。

如果涉及到联机模式,我们可能需要考虑从网络获取数据输入。

数据处理。Unity的UI Panel提供了事件和操纵器处理用户输入。

数据输出。我们需要把数据以一定的模式输出到用户界面。

在Unity的UI编辑器中,我们可以通过可视化的方式创建UI内容。这个UI是支持FlexBox模式的。

创建完成的UI Document如何使用呢

在场景的根节点下挂载一个空对象。

重命名为Screen。

在Screen上挂载一个UI Document组件。

把设置文件拖动到插槽中。

把刚才生成的uxml文件拖动到插槽中。

在Screen上挂载一个C#脚本。

可以使用UQuery语法在C#中查找到元素。

基础元素都是VisualElement类的对象。

类似于选择器语法。

然后可以直接对其上的style属性进行设置。

需要编写ScriptableObecjt来保存UI数据。

相关文章:

  • vue项目引入微信sdk: npm install weixin-js-sdk --save报错
  • v-text 和v-html
  • CSS属性排序的插件和包
  • redis之主从复制、哨兵模式
  • Makefile:条件判断和循环的使用(十)
  • Ubuntu Desktop 安装有道词典
  • 鸿蒙手机cordova-plugin-camera不能拍照和图片不显示问题
  • 蓝桥杯备考
  • Python 正则表达式(re)
  • 东方 - 循环(2) - 求和计数
  • PDF编辑和格式转换工具 Cisdem PDFMaster for Mac
  • Adaboost集成学习 | Matlab实现基于ELM-Adaboost极限学习机结合Adaboost集成学习时间序列预测(股票价格预测)
  • 前端三剑客 —— CSS (第三节)
  • JavaScript条件判断
  • 去班味的尽头是风险管理
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • 〔开发系列〕一次关于小程序开发的深度总结
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • CODING 缺陷管理功能正式开始公测
  • Git的一些常用操作
  • JS笔记四:作用域、变量(函数)提升
  • php的插入排序,通过双层for循环
  • SegmentFault 2015 Top Rank
  • 工作手记之html2canvas使用概述
  • 漂亮刷新控件-iOS
  • 区块链技术特点之去中心化特性
  • 如何实现 font-size 的响应式
  • 深入浅出Node.js
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 找一份好的前端工作,起点很重要
  • 大数据全解:定义、价值及挑战
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (9)目标检测_SSD的原理
  • (C语言)字符分类函数
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)socket Aio demo
  • *上位机的定义
  • .NET Framework 服务实现监控可观测性最佳实践
  • .NET 发展历程
  • .NET/C# 使窗口永不获得焦点
  • .NET程序员迈向卓越的必由之路
  • .net专家(张羿专栏)
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • @require_PUTNameError: name ‘require_PUT‘ is not defined 解决方法
  • [ vulhub漏洞复现篇 ] struts2远程代码执行漏洞 S2-005 (CVE-2010-1870)
  • [<死锁专题>]
  • [16/N]论得趣