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方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 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渐隐渐显效果的具体代码,供大家参考,具体内容如下 1.在UI对象上添加组件:CanvasGroup; 2.在对象上添加脚本:UI_FadeInFadeOut 脚本: 脚本信息: (Blocks Raycasts=true可以交互:Blocks Raycasts=false无法交互) using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summa

  • 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或场景的偏移效果 我们可以先用一个枚

随机推荐