在游戏开发中,经常会因为直接将GameObject,setActive的方式打开关闭,这种方式效果太过生硬而给它加上一个Tween
可能是AlphaTween或者ScaleTween。
再加上一个PlayTween来做控制。
这样子需要在每个GameObject上加上这几个Component不说,还很不好用
所以结合之前用的一个拓展函数的方法,想到一个非常非常方便的方法
(之前的拓展函数文章:http://blog.csdn.net/chrisfxs/article/details/51221892)
using UnityEngine;
using System.Collections;
namespace ExtensionMethods
{
public static class MyExtensions
{
public static void SetActiveWithAlphaTween(this GameObject gameObject,bool active)
{
UITweenControl<TweenAlpha> tween = new UITweenControl<TweenAlpha>();
UIWidget widget = gameObject.GetCompoent<UIWidget>();
if(widget == null)
widget = gameObject.AddCompoent<UIWidget>();
if(active)
{
gameObject.SetActive(true);
widget.alpha =0;
tween