| //-------------------------------------------------------- | 
| //    [Author]:           玩个游戏 | 
| //    [  Date ]:           Monday, April 09, 2018 | 
| //-------------------------------------------------------- | 
| using UnityEngine; | 
| using System.Collections; | 
| using UnityEngine.UI; | 
|   | 
|   | 
| public class UISmoothMove : MonoBehaviour | 
| { | 
|     [SerializeField] Vector2 m_To; | 
|     public Vector2 to { | 
|         get { return m_To; } | 
|         set { m_To = value; } | 
|     } | 
|   | 
|     [SerializeField] float m_Smooth = 0.2f; | 
|   | 
|     Vector2 refPosition = Vector2.zero; | 
|     RectTransform rectTransform { get { return this.transform as RectTransform; } } | 
|   | 
|     bool show = false; | 
|   | 
|     public void Begin() | 
|     { | 
|         refPosition = Vector2.zero; | 
|         show = true; | 
|     } | 
|   | 
|     public void Stop() | 
|     { | 
|         show = false; | 
|     } | 
|   | 
|     private void LateUpdate() | 
|     { | 
|         if (Vector2.Distance(rectTransform.anchoredPosition, to) > 1f) | 
|         { | 
|             if (show) | 
|             { | 
|                 var newPosition = Vector2.SmoothDamp(rectTransform.anchoredPosition, to, ref refPosition, m_Smooth, 1000, Time.deltaTime); | 
|                 rectTransform.anchoredPosition = newPosition; | 
|             } | 
|         } | 
|         else | 
|         { | 
|             show = false; | 
|         } | 
|     } | 
|   | 
|   | 
| } |