【UI界面开发】基本组件概述
文章目录
- 摘要
- 基本交互方式
- 基本交互内容
- 指针信号
- 按键信号
摘要
- UI界面开发离不开各种UI组件的组合以及相互配合,实现需求。而各种各样的UI组件都有它们的共同特点。
- 本文将总结UI组件的基本特点,作为之后总结各基本组件的概述。
- 内容都是基于个人浅薄的开发经验,许多观点和说法必然与专业解释有较大差异。
基本交互方式
- 与UI交互的基本方式一般分为两种,一种是指针信号,另一种是按键信号
- 无论是鼠标、遥感控制的光标,还是VR游戏中的射线,都属于指针信号,它的特点在于交互基于空间
- 无论是键盘按键还是手柄按键,都属于按键信号,它的特点在于交互基于离散状态。
基本交互内容
- 聚焦/选中:即用户通过外设选择该UI,该状态是执行的预状态。
- 失焦/弃选:即用户通过外设放弃该UI,该状态将无法对其进行下一步操作
- 触发:即用户通过外设输入激活信号,将会唤起UI执行对应的事件处理
- 以上是UI交互的基本内容。但不同的UI有不同的实现要求/步骤,以及会有不同的效果。
指针信号
- 这里仅用鼠标控制为例。鼠标操作Unity提供了许多现成方案以及扩展接口。基本上只需要利用这些现成方案,就能直接实现简单需求。配合扩展接口,还能实现tooltips,拖拽等功能。
- 因为指针本身基于2D空间的特点,因此在Unity中只要给对应UI加上射线检测,就能使得指定大小的UI都能接收到指针的指向。
- 一般来说,鼠标操作有进入/离开UI,在UI上点击/按下/释放的操作。而Unity还提供了与拖拽相关的接口,在指针指向UI,按下并移动时调用:开始拖拽/拖拽/结束拖拽。
- 因此,鼠标与UI的各种交互实现会相对比较容易。
按键信号
- Unity同样提供了现成的按键方案来与UI交互。但它在灵活性上要略差一些。
- 如果要自己实现按键操控会更加的麻烦,需要自己定义各种交互的实现。
- 之后在具体总结组件的时候会给出实现的一些tips
【UI界面开发】基本组件概述相关推荐
- MFC识别XBox游戏手柄,并进行UI界面开发
一.效果展示 直接上效果图: 二.利用XInput实现获取XBox游戏手柄数据 在网上搜寻了很久,发现方法可以对游戏手柄进行测试,但是MFC版本以及完全版的很少有比较完全的资料,因此作为新手的我,正在 ...
- QT学习开发笔记(项目实战之智能家居物联 UI 界面开发 )
智能家居物联 UI 界面开发 项目路径为 4/01_smarthome/01_smarthome/01_smarthome.pro,先看项目界面.项目界面如 下,采用暗黑主题设计,结合黄色作为亮色,让 ...
- 安卓开发——UI界面开发
功能说明 开发一个类似微信的主页面框架,UI布局为上中下结构,包含4个tab界面: 页面顶部为页面标题 页面底部为导航栏 页面中部为内容展示界面 开发技术 layout xml,控件,监听,fragm ...
- 【UI界面开发】基本组件——滑杆
文章目录 摘要 Slider基本要素 UGUI之Slider Unity预设Slider组成分析 Inspector窗口参数 Slider常用成员 自制Slider 摘要 本文章是关于UGUI组件Sl ...
- 【UI界面开发】基本组件——按钮
文章目录 摘要 Button基本要素 UGUI之Button 自定义Button 利用鼠标接口 自定义的键盘操作 摘要 本章就Button组件的一些知识进行总结.除了总结Unity自带的Button组 ...
- HarmonyOS开发详解(四)——鸿蒙Page Ability功能及UI界面开发详解
HarmonyOS里面的界面通过Page Ability和Java UI一起来实现:讲述Page Ability就离不开Ability.在HarmonyOS里面把各种具备的能力进行抽象,叫做Abili ...
- 从Element ui看开发公共组件的三种方式
在日常的开发工作中,封装自己的公共组件是很常见的需求,但想要组件更加优雅和通用也是一门学问.恰好前段时间用过Element ui,于是想学习这种库是如何封装插件的,这篇文章就是我的一点理解. 从入口文 ...
- 工作中的UI界面开发的知识点1
1.//字符串转枚举 SceneType type = (SceneType)Enum.Parse(typeof(SceneType), sceneName); 2.鼠标移动图片 RectTransf ...
- QT5.12 Ui界面开发项目:QOpenGLShaderProgram::uniformLocation(model): shader program is not linked
1. 版本介绍: (1)QT版本:QT5.12 +QT Creator 4.8 (2)编译器版本:windows msvc2017 32bit / 64bit 2. 问题描述: QOpenGLShad ...
最新文章
- 同时打包多个场景_人机CP模式闯入“打包界”,智能设备让每一厘米纸箱物尽其用...
- 第一次 C语言课程设计
- python 哈希表_哈希表哪家强?编程语言找你来帮忙!
- SLAM:VSLAM简介之详细攻略
- ASP.NET中Response.Redirect()方法深度剖析
- C语言常用头文件总结
- 单向流动的拓扑结构_只允许数据在传输介质中单向流动的拓扑结构是
- hdu1312---------------DFS模板(调用STL)
- Eclipse常用的一些设置
- visio画图——圆柱
- NetSetMan NetSetMan IP快速切换
- 毕业设计 python图像检索系统设计与实现
- 生成PayPal测试账号clientID 和 密钥
- 微信网页版扫码登录是如何实现的?
- web前端培训班有哪些
- OM6621系列国产M4F内核低功耗BLE5.1大内存SoC蓝牙芯片
- maven仓库镜像改为阿里巴巴
- 将钞票分解为多张钞票的和
- python制作节日贺卡
- 以智能卡平台为硬件的嵌入式加密IC的优势