【Unity3D-UGUI应用篇】(五)使用Button完成鼠标移动到UI上面显示文字功能
推荐阅读
大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。
一、前言
前段时间分享了UGUI的每个组件的属性和使用方法,比如Text、Button、Image、Toggle、InputField、ScrollView等等。
接着分享了UGUI的一些原理,比如说UGUI的渲染模式、UGUI的缩放计算、UGUI的描点定位、UGUI的自动布局等等。
相信大家看完后会对UGUI有一个比较全面的认识了。
下面,就继续分享UGUI的UI组件进行应用的实例。
这是本系列文章的第五篇:
【Unity3D-UGUI应用篇】(一)使用Text实现进度等待动画
【Unity3D-UGUI应用篇】(二)使用Image实现进度条动画
【Unity3D-UGUI应用篇】(三)使用UGUI实现层级菜单
【Unity3D-UGUI应用篇】(四)使用UGUI弹窗显示模型及弹窗模型交互
【Unity3D-UGUI应用篇】(五)使用Button完成鼠标移动到UI上面显示文字功能
【Unity3D-UGUI应用篇】(六)屏幕自适应(多分配率适配)
【Unity3D-UGUI应用篇】(七)UGUI实现窗口的自由拖拽
【Unity3D-UGUI应用篇】(八)Image实现画线、画三角形、画正方形、画圆
二、介绍及效果图
有时候图标不能很好的说明这个功能的解释,就需要一些说明性文字显示。就比如可以在鼠标移动到UI上面的时候显示文字。
那么如何在UGUI上,鼠标移动上去显示文字说明呢。
大家都知道,当鼠标移动到button按钮上面的时候会出现变化,主要是button这个组件在控制
既然可以控制颜色,就一定有状态捕捉的枚举
然后就找到了这个
接下来就是重写Button类了。
效果图:
三、实现
1.新建一个button,然后remove掉原来的button组件
2.新建TestButton.cs脚本,编写脚本
using UnityEngine;
using UnityEngine.UI;
public class TestButton : Button
{
enum Selection
{
Normal,
Highlighted,
Pressed,
Disabled
}
Selection selection;
protected override void DoStateTransition(SelectionState state, bool instant)
{
base.DoStateTransition(state, instant);
switch (state)
{
//四种状态
case SelectionState.Normal:
selection = Selection.Normal;
break;
case SelectionState.Highlighted:
selection = Selection.Highlighted;
break;
case SelectionState.Pressed:
selection = Selection.Pressed;
break;
case SelectionState.Disabled:
selection = Selection.Disabled;
break;
default:
break;
}
}
private void OnGUI()
{
GUI.skin.box.fontSize = 10;
switch (selection)
{
case Selection.Highlighted:
GUI.Box(new Rect(Input.mousePosition.x, Screen.height - Input.mousePosition.y, 100, 25), "Highlighted");
break;
case Selection.Pressed:
GUI.Box(new Rect(Input.mousePosition.x, Screen.height - Input.mousePosition.y, 100, 25), "Pressed");
break;
default:
break;
}
}
}
3.挂载到button按钮上
OK了 。
相关文章
- .NET MAUI 多平台应用 UI 应用
- iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
- iOS开发UI篇—ios应用数据存储方式(归档)
- iOS开发UI篇—ios应用数据存储方式(XML属性列表-plist)
- iOS开发UI篇—使用picker View控件完成一个简单的选餐应用
- python的dict,set,list,tuple应用详解
- 栈和队列的高级应用--单调栈
- 大数据是开启环统数据应用的“金钥匙”
- Knockout应用开发指南 第七章:Mapping插件
- javascript:微信扫一扫下载android应用的引导页
- Android 应用架构概述
- SAP UI5 应用中的 sap.ui.require.toUrl 使用场景
- sap.ui.core.IAsyncContentCreation 这个标记接口在 SAP UI5 框架中的应用
- 如何定制化SAP Fiori标准应用里UI字段的标签
- 观察者模式在SAP CRM One Order回调函数中的应用
- 运行在生产系统中的企业级 JavaScript 应用的性能问题分析指南
- RxJs 操作符 withLatestFrom 在 SAP 电商云 Spartacus UI 中的应用
- SAP CRM WebClient UI和CRM Fiori应用里Opportunity的显示过滤逻辑
- Java反射机制在UI自动化测试中的一个应用
- Atitit 软件集成法 eai 目录 1. 表示集成 ui界面集成 最简单1 2. 数据集成1 3. 控制集成 功能集成 应用集成1 4. 业务流程集成1 5. 企业应用集成1
- SAP UI5 应用开发教程之一百零二 - SAP UI5 应用的打印(Print)功能实现详解试读版
- SAP UI5 应用 index.html 里定义的 data-sap-ui-theme 值的加载原理
- SAP CAP Fiori Elements 应用配置 UI 的两种方式以及自定义 index.html
- SAP UI5 应用 index.html 里 data-sap-ui-resourceroots 指令的含义和作用
- 使用扩展技术将SAP Fiori应用隐藏动态创建的UI字段
- 一步步在Kubernetes里运行Web应用
- Python之pandas:特征工程中数据类型(object/category/bool/int32/int64/float64)的简介、数据类型转换四大方法、案例应用之详细攻略
- TC:可信计算的简介(进展/组成/层面/争议)、五大关键技术、应用场景之详细攻略
- Python语言学习:Python随机生成那些事之随机生成使用方法、案例应用之详细攻略
- 探秘国内首个端云协同的多模态AI应用开发平台——华为云HiLens
- JS执行器在UI自动化测试中的应用
- 谈谈对XML的理解?说明Web应用中Web.xml文件的作用?
- python工具方法 23 应用于语义分割的F1,recall,precision,iou,kappa系数的计算工具(支持ignore_index)