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或场景的偏移效果 我们可以先用一个枚
随机推荐
- 关于MSCOMM控件的一些说明第1/2页
- 国内学院派专家对DB2 9新产品赞不绝口
- php设计模式 Prototype (原型模式)代码
- vuex中使用对象展开运算符的示例
- 详解用函数式编程对JavaScript进行断舍离
- JS简单获取当前日期和农历日期的方法
- Android中获取状态栏高度的两种方法分享
- unix 编程进程控制详细介绍
- PHP面向对象精要总结
- IP攻击升级,程序改进以对付新的攻击
- 详细解读Python的web.py框架下的application.py模块
- C++实现的一个可以写递归lambda的Y函数
- PHP中获取变量的变量名的一段代码的bug分析
- Android View如何测量
- Whatever:hover 无需javascript让IE支持丰富伪类
- JSP 中spring事务配置详解
- mysql中获取一天、一周、一月时间数据的各种sql语句写法
- jQuery老黄历完整实现方法
- MySQL双Master配置的方法详解
- 网络词汇大全