Unity实现UI渐变效果
本文实例为大家分享了Unity实现UI渐变效果的具体代码,供大家参考,具体内容如下
在做背包系统时,在提示面板中想实现的更加炫酷点,决定使用渐变效果来提示档次
渐变效果实现采用改变该UI的透明度来控制其显示和隐藏
在UI对象上添加Canvas Group组件
通过控制Alpha改变其透明度来控制显示和隐藏(Alpha=0隐藏;Alpha=1显示)(Blocks Raycasts=true可以交互;Blocks Raycasts=false无法交互)
添加一个脚本改在到该UI对象上
using UnityEngine; using System.Collections; using UnityEngine.UI; public class ToolTilePanel : MonoBehaviour { private float alpha = 0.0f; private float alphaSpeed = 2.0f; private CanvasGroup cg; void Start () { cg = this.transform.GetComponent<CanvasGroup>(); } void Update () { if (alpha != cg.alpha) { cg.alpha = Mathf.Lerp(cg.alpha,alpha,alphaSpeed * Time.deltaTime); if (Mathf.Abs(alpha-cg.alpha)<=0.01) { cg.alpha = alpha; } } } public void Show() { alpha = 1; cg.blocksRaycasts = true;//可以和该UI对象交互 } public void Hide() { alpha = 0; cg.blocksRaycasts = false;//不可以和该UI对象交互 }
当需要显示UI对象时,调用Show方法;反之,调用Hide方法
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Unity实现UI渐隐渐显效果
本文实例为大家分享了Unity实现UI渐隐渐显效果的具体代码,供大家参考,具体内容如下 1.在UI对象上添加组件:CanvasGroup; 2.在对象上添加脚本:UI_FadeInFadeOut 脚本: 脚本信息: (Blocks Raycasts=true可以交互:Blocks Raycasts=false无法交互) using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summa
-
Unity3D实现渐变颜色效果
基于unity3D实现渐变颜色的简单脚本,代码很少,就不废话了,直接上代码和效果图. 效果图: using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace ExtraFoundation.Components { [AddComponentMenu("UI/Effects/Gradient")] public class UIGradient : B
-
Unity实现UI渐变效果
本文实例为大家分享了Unity实现UI渐变效果的具体代码,供大家参考,具体内容如下 在做背包系统时,在提示面板中想实现的更加炫酷点,决定使用渐变效果来提示档次 渐变效果实现采用改变该UI的透明度来控制其显示和隐藏 在UI对象上添加Canvas Group组件 通过控制Alpha改变其透明度来控制显示和隐藏(Alpha=0隐藏:Alpha=1显示)(Blocks Raycasts=true可以交互:Blocks Raycasts=false无法交互) 添加一个脚本改在到该UI对象上 using U
-
unity实现UI元素跟随3D物体
本文实例为大家分享了unity实现UI元素跟随3D物体的具体代码,供大家参考,具体内容如下 在Canvas不同的渲染模式(RenderMode)下实现UI跟随3D物体 当Canvas.RenderMode为Screen Space-Overlay时 利用WorldToScreenPoint(worldPos)将物体的世界坐标转换成屏幕坐标,实时更新UI的坐标: using UnityEngine; using System.Collections; public class FollowWorl
-
Unity 从UI中拖拽对象放置并拖动效果 附demo
需求:点击UI,在场景中生成3D对象,对象跟随鼠标移动,放置后可再次拖拽对象,改变其位置.做了一个小Demo,如下图所示: 实现大致思路: 射线碰撞检测 对象空间坐标变换(世界坐标->屏幕坐标.屏幕坐标->世界坐标) 首先为要生成3D对象的UI添加一个鼠标监听事件,脚本如下: SelectImage.cs using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngin
-
Unity实现UI光晕效果(发光效果)
Unity中,我们怎么制作UI物体发光的渐隐渐现的效果呢? 比如说我们有一张月亮光晕的精灵图片 我们可以给它添加一个CanvasGroup组件 我们可以发现,组件上的Alpha值可以控制图片的透明度,从0到1 那么我们可以在代码中通过控制Alpha值循环的变化实现发光的光晕效果 以下是代码: using System.Collections; using System.Collections.Generic; using UnityEngine; public class MoonFlash :
-
Unity工具类ScrollView实现拖拽滑动翻页
简介: 在进行UI设计的时候,经常会使用Unity中UI提供的ScrollView,类似Android中的ScrollView,在进行图片预览,多个翻页的时候,能实现很好的效果. 该类中根据Unity的EventSystems中拖拽事件,实现对页码的滑动监听,在使用的时候,新建UI--->ScrollView,把该类组件添加到ScrollView上,把对应的content加入该脚本中的content,调整ScrollView和Content,设置单个滑动页的宽度,拖拽的阈值,即可监听到拖拽,如果
-
Unity中3DText显示模糊不清的解决方案
在Unity中,当我们想要给3D物体一个文字说明时,使用Canvas下的Text虽然也能通过缩放实现,但是实现起来比较麻烦,改动的多,大小和位置也不容易控制. 此时就需要用到我们的3DText了,对于初次使用这个组件的"攻城狮"来说,会发现在Game场景中很模糊 具体修改操作如下: 此时,只需要选中当前3DText的物体,修改TextMesh组件下的Character Size和Font Size两个属性值.例如: 在这里,Character Size值越小,同时Font Size越大
-
关于Unity中RectTransform与transform的区别
以前一直以为在Inspector面板上的是Transform,后来才发现原来2D是RectTransform,3D是Transform 3D面板上显示的是位置坐标组件Transform,2D面板上显示的是位置坐标组件RectTransform RectTransform是Transform的子类 可以这样强制转换,反过来则不行 gameObject.GetComponent<RectTransform>().anchoredPosition3D = new Vector3(x,y,z); ”锚
-
Unity 实现鼠标滑过UI时触发动画的操作
在有些需求中会遇到,当鼠标滑过某个UI物体上方时,为了提醒用户该物体是可以交互时,我们需要添加一个动效和提示音.这样可以提高产品的体验感. 解决方案 1.给需要有动画的物体制作相应的Animation动画.(相同动效可以使用同一动画复用) 2.给需要有动画的物体添加脚本.脚本如下: using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngi
-
Unity UI或3D场景实现跟随手机陀螺仪的晃动效果
需求 当游戏显示3d场景及其UI的时候.玩家左右晃动手机的时候,UI界面会随之左右偏移.上下晃动的时候,3D场景会随之上下偏移.手机停止晃动的时候,如若偏移的UI或场景,停顿一会后自动恢复到初始默认位置. 分析 首先本文功能应对的是横屏游戏(竖屏游戏的话也差不多一样,大家自己拓展下),假设当我们拿起手机玩游戏,手机会有四个部位,分别为左手拿的左手边和右手拿的右边,以及屏幕内容的上方和下方(下文中会用左手边,右手边,上方,下方来描述).每个部位的倾斜都会造成UI或场景的偏移效果 我们可以先用一个枚
随机推荐
- nicedit 轻量级编辑器 使用心得
- Javascript冒泡排序算法详解
- windows下直接点击startup.bat启动tomcat服务示例代码
- ASP.NET 页面中加添加用户控件的写法
- 6个DIV 135或246间隔一秒轮番显示效果
- javascript中clipboardData对象用法详解
- 利用MS AJAX注册Javascript命名空间并创建类
- Java正则表达式入门学习
- Android开发之在程序中时时获取logcat日志信息的方法(附demo源码下载)
- C#对XML文件的各种操作实现方法
- vue.js+Echarts开发图表放大缩小功能实例
- JavaScript中Cookie操作实例
- python中lambda函数 list comprehension 和 zip函数使用指南
- SSH在登录服务器后如何显示基础信息
- MySQL多层级结构-区域表使用树详解
- java实现图片文字识别ocr
- 不唐突的JavaScript的七条准则整理收集第1/2页
- javascript基本包装类型介绍
- 分享C#操作内存读写方法的主要实现代码
- 微信小程序表单验证form提交错误提示效果