unity3d 擴展NGUI Tweener —— TweenFillAmount


好久沒寫博客了,上一篇是在今年上班之前寫的

從年初到現在一篇沒寫過,每天都在加班,實在太忙了

上班半年多了,學到不少東西

今天分享一下剛寫的小功能 TweenFillAmount

用過NGUI Twnner的人看到這個名字就應該知道干啥的了

tweenPosition、tweenRotation、TweenScale、tweenColor.....

就是沒有 tweenFillAmount

因為正好要做一個類似血條過渡動畫的東西,所以就擴展了一下

時間不多,寫得不到位的地方腦補一下

 

 

首先我們新建一個UISprite

type:filled

然后我們拖動fill amount,就會看見圖片被裁剪了

我們想實現一個功能,讓他從某個值,逐漸變成另外一個值

這個其實自己實現起來也很簡單,不過為了統一,做一個通用的東西,總比每次都寫一次好

 

我們找一個tweenColor來看看他怎么實現的,代碼挺少的,還有注釋,我就不解釋了,七點半又要上班了- -

代碼看完了,在看看UISprite和UITexture的代碼

哦了,直接看代碼吧,直奔主題

 

 1 #region HeadComments
 2 /* ========================================================================
 3 * Copyright (C) 2015 Arthun
 4 *
 5 * 作    者:Arthun
 6 * 文件名稱:TweenFillAmount
 7 * 功    能:移動填充量
 8 * 創建時間:2015/09/10 10:58:12
 9 * 版    本:v1.0.0
10 *
11 * [修改日志]
12 * 修改者: 時間: 修改內容:
13 * 
14 * =========================================================================
15 */
16 #endregion
17 
18 using UnityEngine;
19 
20 [RequireComponent(typeof(UIBasicSprite))]
21 [AddComponentMenu("NGUI/Tween/Tween Fill Amount")]
22 public class TweenFillAmount : UITweener
23 {
24     [Range(0f, 1f)]
25     public float from = 1f;
26     [Range(0f, 1f)]
27     public float to = 1f;
28 
29     private bool mCached = false;
30     private UIBasicSprite mBasic;
31 
32     private void Cache()
33     {
34         mCached = true;
35         mBasic = GetComponent<UIBasicSprite>();
36     }
37 
38     public float value
39     {
40         get
41         {
42             if (!mCached) Cache();
43             return mBasic != null ? mBasic.fillAmount : 1f;
44         }
45         set
46         {
47             if (!mCached) Cache();
48             if (mBasic != null) mBasic.fillAmount = value;
49         }
50     }
51 
52     protected override void OnUpdate(float factor, bool isFinished) { value = Mathf.Lerp(from, to, factor); }
53 
54     public override void SetStartToCurrentValue() { from = value; }
55 
56     public override void SetEndToCurrentValue() { to = value; }
57 }

 

ok,掛到UISprite上測試一下

怎么樣,是不是很方便?還支持調節曲線的

以后媽媽再也不用擔心我做過渡動畫了

 

東西不是很難,實用就好,哈哈

以后會多抽點時間寫寫博客,歡迎大家交流

 

本文鏈接:http://www.cnblogs.com/shenggege/p/4798923.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM