Exemple #1
0
    // RectTransform.MoveTo
    // Rect Transform을 현재 위치에서 지정한 위치로 이동시키는 애니메이션
    public static void MoveTo(this RectTransform target, Vector2 pos,
                              float time, float delay, iTween.EaseType easeType,
                              System.Action onCompleteDelegate = null)
    {
        // iTween이 발생시킨 이벤트를 제어하는 핸들러를 설정한다
        iTweenEventHandler eventHandler = SetUpEventHandler(target.gameObject);

        // 이동 애니메이션이 한 스텝 진행될 때마다 호출하는 콜백 메서드를 설정한다
        eventHandler.OnUpdateMoveDelegate = (Vector2 value) => {
            // Rect Transform의 위치를 갱신한다
            target.anchoredPosition = value;
        };

        // 애니메이션이 끝났을 때 호출되는 콜백 메서드를 설정한다
        eventHandler.OnCompleteDelegate = onCompleteDelegate;

        // iTween의 ValueTo 메서드를 호출해 애니메이션을 시작한다
        iTween.ValueTo(target.gameObject, iTween.Hash(
                           "from", target.anchoredPosition,
                           "to", pos,
                           "time", time,
                           "delay", delay,
                           "easetype", easeType,
                           "onupdate", "OnUpdateMove",
                           "onupdatetarget", eventHandler.gameObject,
                           "oncomplete", "OnComplete",
                           "oncompletetarget", eventHandler.gameObject
                           ));
    }
    // iTween이 발생시킨 이벤트를 제어하는 핸들러를 설정하는 메서드
    private static iTweenEventHandler SetUpEventHandler(GameObject targetObj)
    {
        iTweenEventHandler eventHandler = targetObj.GetComponent <iTweenEventHandler>();

        if (eventHandler == null)
        {
            eventHandler = targetObj.AddComponent <iTweenEventHandler>();
        }
        return(eventHandler);
    }
Exemple #3
0
    public static void MoveTo(this RectTransform target, Vector2 pos, float time, float delay, iTween.EaseType easeType, System.Action onCompleteDelegate = null)
    {
        iTweenEventHandler eventHandler = SetUpEventHandler(target.gameObject);

        eventHandler.OnUpdateMoveDelegate = (Vector2 value) => { target.anchoredPosition = value; };

        eventHandler.OnCompleteDelegate = onCompleteDelegate;

        iTween.ValueTo(target.gameObject, iTween.Hash(
                           "from", target.anchoredPosition,
                           "to", pos,
                           "time", time,
                           "delay", delay,
                           "easetype", easeType,
                           "onupdate", "OnUpdateMove",
                           "onupdatetarget", eventHandler.gameObject,
                           "oncomplete", "OnComplete",
                           "oncompletetarget", eventHandler.gameObject));
    }