ITween动画

来源:互联网 发布:龙骑士07知乎 编辑:程序博客网 时间:2024/06/06 15:32
using UnityEngine;using System.Collections;using System.Collections.Generic;public class UIAnimationController{public static void CloseSlideOut(UIAnimationParam param){if (param == null){return;}if (string.IsNullOrEmpty(param._EaseType)){Hashtable table = iTween.Hash();table.Add("position", param._Pos);table.Add("time", param._Time);table.Add("islocal", true);table.Add("oncompletetarget", param._Target);if(string.IsNullOrEmpty(param._Del) == false){table.Add("oncomplete", param._Del);}iTween.MoveTo(param._Target, table);}else{Hashtable table = iTween.Hash();table.Add("position", param._Pos);table.Add("time", param._Time);table.Add("islocal", true);table.Add("oncompletetarget", param._Target);if(string.IsNullOrEmpty(param._Del) == false){table.Add("oncomplete", param._Del);}if(string.IsNullOrEmpty(param._EaseType) == false){table.Add("easetype", param._EaseType);}iTween.MoveTo(param._Target, table);}}public static void TweenAlphaFromTo(UIAnimationParam param, EventDelegate.Callback del){if(param == null){return;}TweenAlpha tween = TweenAlpha.Begin(param._Target, param._Time, param._AlphaTo);tween.from = param._AlphaFrom;if(del != null){EventDelegate.Add(tween.onFinished, del, true);}}public static void ScaleFrom(UIAnimationParam param){if(param == null){return;}param._Target.transform.localScale = Vector3.one;Hashtable table = iTween.Hash();table.Add("scale", new Vector3(param._ScaleFrom, param._ScaleFrom, param._ScaleFrom));table.Add("time", param._Time);table.Add("islocal", true);table.Add("oncompletetarget", param._Target);if(string.IsNullOrEmpty(param._Del) == false){table.Add("oncomplete", param._Del);}if(string.IsNullOrEmpty(param._EaseType) == false){table.Add("easetype", param._EaseType);}iTween.ScaleFrom(param._Target, table);}public static void ScaleTo(UIAnimationParam param){if(param == null){return;}param._Target.transform.localScale = Vector3.one;Hashtable table = iTween.Hash();table.Add("scale", new Vector3(param._ScaleTo, param._ScaleTo, param._ScaleTo));table.Add("time", param._Time);table.Add("islocal", true);table.Add("oncompletetarget", param._Target);if(string.IsNullOrEmpty(param._Del) == false){table.Add("oncomplete", param._Del);}if(string.IsNullOrEmpty(param._EaseType) == false){table.Add("easetype", param._EaseType);}iTween.ScaleTo(param._Target, table);}}public class UIAnimationParam{public GameObject _Target;public Vector3 _Pos;public float _Time;public string _Del;public string _EaseType;public float _AlphaFrom;public float _AlphaTo;public float _ScaleFrom;public float _ScaleTo;}public static class UIAnimationPlayer{public static void PlayEazyScaleOpen(GameObject go){UIAnimationParam param = new UIAnimationParam();param._ScaleFrom = 0.5f;param._Time = 0.5f;param._Target = go;param._EaseType = "easeOutBack";UIAnimationController.ScaleFrom(param);}public static void PlayEazyScaleClose(GameObject go){UIAnimationParam param = new UIAnimationParam();param._ScaleTo = 0.3f;param._Time = 0.2f;param._Target = go;param._Del = "CloseSelf";param._EaseType = "linear";UIAnimationController.ScaleTo(param);}public static void PlayEazyAlphaOpen(GameObject go, EventDelegate.Callback del){UIAnimationParam param = new UIAnimationParam();param._Time = 0.3f;param._AlphaFrom = 0f;param._AlphaTo = 1f;param._Target = go;UIAnimationController.TweenAlphaFromTo(param, del);}public static void PlayEazyAlphaClose(GameObject go, EventDelegate.Callback del){UIAnimationParam param = new UIAnimationParam();param._Time = 0.2f;param._AlphaFrom = 1f;param._AlphaTo = 0f;param._Target = go;UIAnimationController.TweenAlphaFromTo(param, del);}}

0 0