android 头部渐隐效果,UI怎样实现渐隐渐现效果

在做UI后期设计时,我们可能要对UI做一些特效,这篇文章我们来学习下如何在Unity3d中对实现渐隐渐现的效果, 首先我们看下Unity New UI即UGUI中渐隐渐现的做法. 观察我们会发现Unity4.6

在做UI后期设计时,我们可能要对UI做一些特效,这篇文章我们来学习下如何在Unity3d中对实现渐隐渐现的效果,

首先我们看下Unity New UI即UGUI中渐隐渐现的做法.

观察我们会发现Unity4.6 UI中每个能够显示控件都会有一个CanvasRender对象,CanvasRender有什么作用呢,我们看下的解释:The Canvas Renderer component renders a graphical UI object contained within a Canvas.简单的

翻译过来就是,画布上的渲染器组件将呈现包含在一个画布内的图形用户界面对象,再仔细查看CanvasRenderer类时我们可以看到有两个方法SetAlpha ,SetColor,显然我们可以修改透明度Alpha和Color来实现渐隐渐现,同时我们还可以发现Button,Text,Image等控件都会集成自Unity.UI.Graphic

如下所示:

5public class Text : MaskableGraphic, ILayoutElement

public abstract class MaskableGraphic : Graphic, IMaskable

public class Image : MaskableGraphic, ICanvasRaycastFilter, ISerializationCallbackReceiver, ILayoutElement

然后我们再阅读Graphic代码,我们会发现有两个方法

public void CrossFadeAlpha(float alpha, float duration, bool ignoreTimeScale);

public void CrossFadeColor(Color targetColor, float duration, bool ignoreTimeScale, bool useAlpha);

开源源码如下:

29public void CrossFadeAlpha(float alpha, float duration, bool ignoreTimeScale)

{

CrossFadeColor(CreateColorFromAlpha(alpha), duration, ignoreTimeScale, true, false);

}

public void CrossFadeColor(Color targetColor, float duration, bool ignoreTimeScale, bool useAlpha)

{

CrossFadeColor(targetColor, duration, ignoreTimeScale, useAlpha, true);

}

private void CrossFadeColor(Color targetColor, float duration, bool ignoreTimeScale, bool useAlpha, bool useRGB)

{

if (canvasRenderer == null || (!useRGB && !useAlpha))

return;

Color currentColor = canvasRenderer.GetColor();

if (currentColor.Equals(targetColor))

return;

ColorTween.ColorTweenMode mode = (useRGB && useAlpha ?

ColorTween.ColorTweenMode.All :

(useRGB ? ColorTween.ColorTweenMode.RGB : ColorTween.ColorTweenMode.Alpha));

详情请咨询:段老师    微信号:xiaoyingtao-124    QQ :2767258296

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值