文章目录

  • 摘要
  • 基本交互方式
  • 基本交互内容
  • 指针信号
  • 按键信号

摘要

  • UI界面开发离不开各种UI组件的组合以及相互配合,实现需求。而各种各样的UI组件都有它们的共同特点。
  • 本文将总结UI组件的基本特点,作为之后总结各基本组件的概述。
  • 内容都是基于个人浅薄的开发经验,许多观点和说法必然与专业解释有较大差异。

基本交互方式

  • 与UI交互的基本方式一般分为两种,一种是指针信号,另一种是按键信号
  • 无论是鼠标、遥感控制的光标,还是VR游戏中的射线,都属于指针信号,它的特点在于交互基于空间
  • 无论是键盘按键还是手柄按键,都属于按键信号,它的特点在于交互基于离散状态。

基本交互内容

  1. 聚焦/选中:即用户通过外设选择该UI,该状态是执行的预状态。
  2. 失焦/弃选:即用户通过外设放弃该UI,该状态将无法对其进行下一步操作
  3. 触发:即用户通过外设输入激活信号,将会唤起UI执行对应的事件处理
  • 以上是UI交互的基本内容。但不同的UI有不同的实现要求/步骤,以及会有不同的效果。

指针信号

  • 这里仅用鼠标控制为例。鼠标操作Unity提供了许多现成方案以及扩展接口。基本上只需要利用这些现成方案,就能直接实现简单需求。配合扩展接口,还能实现tooltips,拖拽等功能。
  • 因为指针本身基于2D空间的特点,因此在Unity中只要给对应UI加上射线检测,就能使得指定大小的UI都能接收到指针的指向。
  • 一般来说,鼠标操作有进入/离开UI,在UI上点击/按下/释放的操作。而Unity还提供了与拖拽相关的接口,在指针指向UI,按下并移动时调用:开始拖拽/拖拽/结束拖拽。
  • 因此,鼠标与UI的各种交互实现会相对比较容易。

按键信号

  • Unity同样提供了现成的按键方案来与UI交互。但它在灵活性上要略差一些。
  • 如果要自己实现按键操控会更加的麻烦,需要自己定义各种交互的实现。
  • 之后在具体总结组件的时候会给出实现的一些tips

【UI界面开发】基本组件概述相关推荐

  1. MFC识别XBox游戏手柄,并进行UI界面开发

    一.效果展示 直接上效果图: 二.利用XInput实现获取XBox游戏手柄数据 在网上搜寻了很久,发现方法可以对游戏手柄进行测试,但是MFC版本以及完全版的很少有比较完全的资料,因此作为新手的我,正在 ...

  2. QT学习开发笔记(项目实战之智能家居物联 UI 界面开发 )

    智能家居物联 UI 界面开发 项目路径为 4/01_smarthome/01_smarthome/01_smarthome.pro,先看项目界面.项目界面如 下,采用暗黑主题设计,结合黄色作为亮色,让 ...

  3. 安卓开发——UI界面开发

    功能说明 开发一个类似微信的主页面框架,UI布局为上中下结构,包含4个tab界面: 页面顶部为页面标题 页面底部为导航栏 页面中部为内容展示界面 开发技术 layout xml,控件,监听,fragm ...

  4. 【UI界面开发】基本组件——滑杆

    文章目录 摘要 Slider基本要素 UGUI之Slider Unity预设Slider组成分析 Inspector窗口参数 Slider常用成员 自制Slider 摘要 本文章是关于UGUI组件Sl ...

  5. 【UI界面开发】基本组件——按钮

    文章目录 摘要 Button基本要素 UGUI之Button 自定义Button 利用鼠标接口 自定义的键盘操作 摘要 本章就Button组件的一些知识进行总结.除了总结Unity自带的Button组 ...

  6. HarmonyOS开发详解(四)——鸿蒙Page Ability功能及UI界面开发详解

    HarmonyOS里面的界面通过Page Ability和Java UI一起来实现:讲述Page Ability就离不开Ability.在HarmonyOS里面把各种具备的能力进行抽象,叫做Abili ...

  7. 从Element ui看开发公共组件的三种方式

    在日常的开发工作中,封装自己的公共组件是很常见的需求,但想要组件更加优雅和通用也是一门学问.恰好前段时间用过Element ui,于是想学习这种库是如何封装插件的,这篇文章就是我的一点理解. 从入口文 ...

  8. 工作中的UI界面开发的知识点1

    1.//字符串转枚举 SceneType type = (SceneType)Enum.Parse(typeof(SceneType), sceneName); 2.鼠标移动图片 RectTransf ...

  9. 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 ...

最新文章

  1. 同时打包多个场景_人机CP模式闯入“打包界”,智能设备让每一厘米纸箱物尽其用...
  2. 第一次 C语言课程设计
  3. python 哈希表_哈希表哪家强?编程语言找你来帮忙!
  4. SLAM:VSLAM简介之详细攻略
  5. ASP.NET中Response.Redirect()方法深度剖析
  6. C语言常用头文件总结
  7. 单向流动的拓扑结构_只允许数据在传输介质中单向流动的拓扑结构是
  8. hdu1312---------------DFS模板(调用STL)
  9. Eclipse常用的一些设置
  10. visio画图——圆柱
  11. NetSetMan NetSetMan IP快速切换
  12. 毕业设计 python图像检索系统设计与实现
  13. 生成PayPal测试账号clientID 和 密钥
  14. 微信网页版扫码登录是如何实现的?
  15. web前端培训班有哪些
  16. OM6621系列国产M4F内核低功耗BLE5.1大内存SoC蓝牙芯片
  17. maven仓库镜像改为阿里巴巴
  18. 将钞票分解为多张钞票的和
  19. python制作节日贺卡
  20. 以智能卡平台为硬件的嵌入式加密IC的优势

热门文章

  1. 华清远见重庆中心—JS阶段技术总结/个人总结
  2. 基于FPGA的一维卷积神经网络CNN的实现(一)框架
  3. iptables限制Docker IP和端口访问
  4. 【实用】中国地址英文翻译,英文网站注册
  5. MySQL调优是程序员拿高薪的必备技能?
  6. pyspark:导入第三方包
  7. php基础语法——输出语句
  8. IP组播配置与管理实战——5
  9. ESP32学习笔记(27)——BLE GAP主机端扫描
  10. Istio服务网格详解