Beispiel #1
0
    void Start()
    {
        //DEMO 2 - MODIFIERS
        linear1Animation     = UIAnimator.MoveHorizontal(modDemo1, 0.3f, 0.7f, 2f);
        linear2Animation     = UIAnimator.MoveHorizontal(modDemo2, 0.3f, 0.7f, 2f).SetModifier(Modifier.Linear);
        quadInAnimation      = UIAnimator.MoveHorizontal(modDemo1, 0.3f, 0.7f, 2f).SetModifier(Modifier.QuadIn);
        quadOutAnimation     = UIAnimator.MoveHorizontal(modDemo2, 0.3f, 0.7f, 2f).SetModifier(Modifier.QuadOut);
        cubInAnimation       = UIAnimator.MoveHorizontal(modDemo1, 0.3f, 0.7f, 2f).SetModifier(Modifier.CubIn);
        cubOutAnimation      = UIAnimator.MoveHorizontal(modDemo2, 0.3f, 0.7f, 2f).SetModifier(Modifier.CubOut);
        polyInAnimation      = UIAnimator.MoveHorizontal(modDemo1, 0.3f, 0.7f, 2f).SetModifier(Modifier.PolyIn);
        polyOutAnimation     = UIAnimator.MoveHorizontal(modDemo2, 0.3f, 0.7f, 2f).SetModifier(Modifier.PolyOut);
        sinAnimation         = UIAnimator.MoveHorizontal(modDemo1, 0.3f, 0.7f, 2f).SetModifier(Modifier.Sin);
        tanAnimation         = UIAnimator.MoveHorizontal(modDemo2, 0.3f, 0.7f, 2f).SetModifier(Modifier.Tan);
        circularInAnimation  = UIAnimator.MoveHorizontal(modDemo1, 0.3f, 0.7f, 2f).SetModifier(Modifier.CircularIn);
        circularOutAnimation = UIAnimator.MoveHorizontal(modDemo2, 0.3f, 0.7f, 2f).SetModifier(Modifier.CircularOut);
        //DEMO 3 - EFFECTS
        springEffect1    = UIAnimator.Move(effDemo1, new Vector2(0.5f, 0.7f), new Vector2(0.8f, 0.7f), 2f).SetModifier(Modifier.PolyIn).SetEffect(Effect.Spring(0.21f, 4));
        springEffect2    = UIAnimator.Move(effDemo2, new Vector2(0.5f, 0.5f), new Vector2(0.8f, 0.5f), 2f).SetEffect(Effect.Spring(0.2f, 6), Quaternion.Euler(0, 0, 90f));
        springEffect3    = UIAnimator.Move(effDemo3, new Vector2(0.2f, 0.6f), new Vector2(0.2f, 0.6f), 2f).SetEffect(Effect.Spring(0.1f, 4));
        springEffect4    = UIAnimator.Move(effDemo4, new Vector2(0.4f, 0.6f), new Vector2(0.4f, 0.6f), 2f).SetEffect(Effect.Spring(0.1f, 4), Quaternion.Euler(0, 0, 90f));
        waveEffect1      = UIAnimator.Move(effDemo1, new Vector2(0.5f, 0.7f), new Vector2(0.8f, 0.7f), 2f).SetModifier(Modifier.CircularIn).SetEffect(Effect.Wave(0.05f, 10));
        waveEffect2      = UIAnimator.Move(effDemo2, new Vector2(0.5f, 0.5f), new Vector2(0.8f, 0.5f), 2f).SetModifier(Modifier.Linear).SetEffect(Effect.Wave(0.1f, 6), Quaternion.Euler(0, 0, 90f));
        waveEffect3      = UIAnimator.Move(effDemo3, new Vector2(0.2f, 0.6f), new Vector2(0.2f, 0.6f), 2f).SetEffect(Effect.Wave(0.1f, 4));
        waveEffect4      = UIAnimator.Move(effDemo4, new Vector2(0.4f, 0.6f), new Vector2(0.4f, 0.6f), 2f).SetEffect(Effect.Wave(0.1f, 4), Quaternion.Euler(0, 0, 90f));
        explosionEffect1 = UIAnimator.Move(effDemo1, new Vector2(0.5f, 0.7f), new Vector2(0.8f, 0.7f), 2f).SetModifier(Modifier.CircularOut);
        explosionEffect2 = UIAnimator.Move(effDemo2, new Vector2(0.5f, 0.5f), new Vector2(0.8f, 0.5f), 2f).SetModifier(Modifier.CircularOut).SetEffect(Effect.Explosion(0.2f));
        explosionEffect3 = UIAnimator.Move(effDemo3, new Vector2(0.2f, 0.6f), new Vector2(0.2f, 0.6f), 2f).SetEffect(Effect.Explosion(0.1f));
        explosionEffect4 = UIAnimator.Move(effDemo4, new Vector2(0.4f, 0.6f), new Vector2(0.4f, 0.6f), 2f).SetEffect(Effect.Explosion(0.2f));
        //DEMO 4 - GROUPS
        springGroupEffect = new UIGroupAnimation(
            UIAnimator.Move(groupEffDemo[0], new Vector2(0.3f, 0.6f), new Vector2(0.3f, 0.6f), 1f).SetEffect(Effect.Spring(0.2f, 4), Quaternion.Euler(0, 0, 000f)),
            UIAnimator.Move(groupEffDemo[1], new Vector2(0.3f, 0.6f), new Vector2(0.3f, 0.6f), 1f).SetEffect(Effect.Spring(0.2f, 4), Quaternion.Euler(0, 0, 090f)),
            UIAnimator.Move(groupEffDemo[2], new Vector2(0.3f, 0.6f), new Vector2(0.3f, 0.6f), 1f).SetEffect(Effect.Spring(0.2f, 4), Quaternion.Euler(0, 0, 180f)),
            UIAnimator.Move(groupEffDemo[3], new Vector2(0.3f, 0.6f), new Vector2(0.3f, 0.6f), 1f).SetEffect(Effect.Spring(0.2f, 4), Quaternion.Euler(0, 0, 270f))
            );
        waveGroupEffect = new UIGroupAnimation(
            UIAnimator.Move(groupEffDemo[0], new Vector2(0.3f, 0.6f), new Vector2(0.3f, 0.6f), 4f).SetEffect(Effect.Wave(0.2f, 4), Quaternion.Euler(0, 0, 090f)),
            UIAnimator.Move(groupEffDemo[1], new Vector2(0.3f, 0.6f), new Vector2(0.3f, 0.6f), 4f).SetEffect(Effect.Wave(0.2f, 4), Quaternion.Euler(0, 0, 045f)).SetDelay(0.25f),
            UIAnimator.Move(groupEffDemo[2], new Vector2(0.3f, 0.6f), new Vector2(0.3f, 0.6f), 4f).SetEffect(Effect.Wave(0.2f, 4), Quaternion.Euler(0, 0, 000f)).SetDelay(0.50f),
            UIAnimator.Move(groupEffDemo[3], new Vector2(0.3f, 0.6f), new Vector2(0.3f, 0.6f), 4f).SetEffect(Effect.Wave(0.2f, 4), Quaternion.Euler(0, 0, 315f)).SetDelay(0.75f)
            );
        explosionGroupEffect = new UIGroupAnimation(groupEffDemo, UIAnimator.Move(groupEffDemo[0], new Vector2(0.3f, 0.6f), new Vector2(0.7f, 0.6f), 2f));
        //DEMO 5 = SCALE/ROTATE
        scale1Animation    = UIAnimator.Scale(scaleDemo1, new Vector3(0.0f, 0.0f), new Vector3(2.5f, 2.5f), 2f).SetModifier(Modifier.PolyIn).SetEffect(Effect.Wave(0.2f, 7));
        rotation1Animation = UIAnimator.Rotate(scaleDemo2, Quaternion.Euler(0, 0, -90), Quaternion.Euler(0, 0, 90), 2f);
        //DEMO 6 - COLOR
        callback1Animation = UIAnimator.Move(colorDemo[0].rectTransform, new Vector2(0.3f, 0.45f), new Vector2(0.3f, 0.75f), 1f);
        callback2Animation = UIAnimator.Move(colorDemo[1].rectTransform, new Vector2(0.3f, 0.75f), new Vector2(0.4f, 0.55f), 1f);
        callback3Animation = UIAnimator.Move(colorDemo[2].rectTransform, new Vector2(0.4f, 0.55f), new Vector2(0.5f, 0.75f), 1f);
        callback4Animation = UIAnimator.Move(colorDemo[2].rectTransform, new Vector2(0.5f, 0.75f), new Vector2(0.6f, 0.55f), 1f);
        callback5Animation = UIAnimator.Move(colorDemo[3].rectTransform, new Vector2(0.6f, 0.55f), new Vector2(0.7f, 0.75f), 1f);
        callback6Animation = UIAnimator.Move(colorDemo[4].rectTransform, new Vector2(0.7f, 0.75f), new Vector2(0.3f, 0.45f), 1f).SetEffect(Effect.Wave(0.2f, 1), Quaternion.Euler(0, 0, 90f));
        callback1Animation.SetCallback(callback2Animation.Play);
        callback2Animation.SetCallback(callback3Animation.Play);
        callback3Animation.SetCallback(callback4Animation.Play);
        callback4Animation.SetCallback(callback5Animation.Play);
        callback5Animation.SetCallback(callback6Animation.Play);
        callback6Animation.SetCallback(ResetAnimation);

        callback1Animation.Play();
        //DEMO 7 - LOOP
        //PLEASE SEE THE COMPONENTS IN INSPECTOR OR READ THE INSTRUCTIONS
    }
Beispiel #2
0
    // Use this for initialization
    void Start()
    {
        if (Application.isPlaying && uiAnimation != null)
        {
            return;
        }

        rect = GetComponent <RectTransform>();
        if (rect == null)
        {
            Debug.Log("Please add a RectTransform to this object:" + gameObject.name);
            return;
        }

        List <UIAnimation> animations = new List <UIAnimation>();

        if (moveAnimation)
        {
            UpdateBehaviour     mod = EasyUIAnimatorUtils.GetModifier(moveModifier);
            Effect.EffectUpdate eff = EasyUIAnimatorUtils.GetEffect(moveEffect, max[0], bounce[0]);
            effectRotation = (randomDirection) ? Vector3.forward * Random.Range(0, 360) : effectRotation;
            Vector2 startValue = (useScreenValues) ? Vector3.Scale(start[0], (Vector3)UIAnimator.InvertedScreenDimension) : start[0];
            Vector2 finalValue = (useScreenValues) ? Vector3.Scale(final[0], (Vector3)UIAnimator.InvertedScreenDimension) : final[0];
            if (isBezier)
            {
                if (isCubicBezier)
                {
                    animations.Add(UIAnimator.MoveBezier(rect, startValue, finalValue, bezierP1, bezierP2, duration).SetModifier(mod));
                }
                else
                {
                    animations.Add(UIAnimator.MoveBezier(rect, startValue, finalValue, bezierP1, duration).SetModifier(mod));
                }
            }
            else
            {
                animations.Add(UIAnimator.Move(rect, startValue, finalValue, duration).SetModifier(mod).SetEffect(eff, Quaternion.Euler(effectRotation)));
            }
        }
        if (scaleAnimation)
        {
            UpdateBehaviour     mod = EasyUIAnimatorUtils.GetModifier(scaleModifier);
            Effect.EffectUpdate eff = EasyUIAnimatorUtils.GetEffect(scaleEffect, max[1], bounce[1]);
            animations.Add(UIAnimator.Scale(rect, start[1], final[1], duration).SetModifier(mod).SetEffect(eff));
        }
        if (rotationAnimation)
        {
            UpdateBehaviour     mod = EasyUIAnimatorUtils.GetModifier(rotationModifier);
            Effect.EffectUpdate eff = EasyUIAnimatorUtils.GetEffect(rotationEffect, max[2], bounce[2]);
            if (start[2].x != 0 || start[2].y != 0 || final[2].x != 0 || final[2].y != 0)
            {
                animations.Add(UIAnimator.Rotate(rect, Quaternion.Euler(start[2]), Quaternion.Euler(final[2]), duration).SetModifier(mod).SetEffect(eff));
            }
            else
            {
                animations.Add(UIAnimator.Rotate(rect, start[2].z, final[2].z, duration).SetModifier(mod).SetEffect(eff));
            }
        }
        if (graphicAnimation)
        {
            UpdateBehaviour mod = EasyUIAnimatorUtils.GetModifier(graphicModifier);
            image = GetComponent <Graphic>();
            if (!image)
            {
                Debug.LogError("Please attach an Image/Text component to the gameObject");
            }
            else
            {
                animations.Add(UIAnimator.ChangeColor(image, startColor, finalColor, duration).SetDelay(delay).SetModifier(mod));
            }
        }

        if (animations.Count == 0)
        {
            Debug.Log("No animation");
            return;
        }
        else
        {
            uiAnimation = new UIGroupAnimation(animations.ToArray()).SetDelay(delay);
        }

        switch (loop)
        {
        case Loop.LOOP:
            uiAnimation.SetLoop();
            break;

        case Loop.PING_PONG:
            uiAnimation.SetLoop(true);
            break;
        }

        if (playAudioOnPlay)
        {
            audioSource = GetComponent <AudioSource>();
            if (audioSource == null)
            {
                Debug.LogError("No audio source found!");
            }
        }

        if (disableAfter)
        {
            uiAnimation.SetCallback(() => { gameObject.SetActive(false); });
        }
        if (Application.isPlaying)
        {
            if (playOnStart)
            {
                Play();
            }
        }
    }
    void Start()
    {
        if (Application.isPlaying && uiAnimation != null)
        {
            return;
        }

        rect = GetComponent <RectTransform>();
        UpdateBehaviour mMod = EasyUIAnimatorUtils.GetModifier(mod);

        Effect.EffectUpdate mEff = EasyUIAnimatorUtils.GetEffect(effect, max, bounce);
        effectRotation = (randomDirection) ? Vector3.forward * Random.Range(0, 360) : effectRotation;
        switch (animType)
        {
        case AnimationType.MOVE:
            if (useScreenValues)
            {
                uiAnimation = UIAnimator.Move(rect, Vector3.Scale(startV3, (Vector3)UIAnimator.InvertedScreenDimension), Vector3.Scale(finalV3, (Vector3)UIAnimator.InvertedScreenDimension), duration).SetDelay(delay).SetModifier(mMod).SetEffect(mEff, Quaternion.Euler(effectRotation));
            }
            else
            {
                uiAnimation = UIAnimator.Move(rect, startV3, finalV3, duration).SetDelay(delay).SetModifier(mMod).SetEffect(mEff, Quaternion.Euler(effectRotation));
            }
            break;

        case AnimationType.SCALE:
            uiAnimation = UIAnimator.Scale(rect, startV3, finalV3, duration).SetDelay(delay).SetModifier(mMod).SetEffect(mEff, Quaternion.Euler(effectRotation));
            break;

        case AnimationType.ROTATION:
            if (startV3.x != 0 || startV3.y != 0 || finalV3.x != 0 || finalV3.y != 0)
            {
                uiAnimation = UIAnimator.Rotate(rect, Quaternion.Euler(startV3), Quaternion.Euler(finalV3), duration).SetDelay(delay).SetModifier(mMod).SetEffect(mEff, Quaternion.Euler(effectRotation));
            }
            else
            {
                uiAnimation = UIAnimator.Rotate(rect, startV3.z, finalV3.z, duration).SetDelay(delay).SetModifier(mMod).SetEffect(mEff, Quaternion.Euler(effectRotation));
            }
            break;

        case AnimationType.IMAGE:
            image = GetComponent <Graphic>();
            if (!image)
            {
                Debug.LogError("Please attach an Image component to the gameObject");
                uiAnimation = null;
                return;
            }
            uiAnimation = UIAnimator.ChangeColor(image, startColor, finalColor, duration).SetDelay(delay).SetModifier(mMod);
            break;

        case AnimationType.GROUP:
            UIAnimation[] uiAnimations = new UIAnimation[fixedAnimations.Length];
            for (int i = 0; i < uiAnimations.Length; i++)
            {
                uiAnimations[i] = fixedAnimations[i].uiAnimation;
            }
            uiAnimation = new UIGroupAnimation(uiAnimations);
            break;

        default:
            break;
        }
        switch (loop)
        {
        case Loop.LOOP:
            uiAnimation.SetLoop();
            break;

        case Loop.PING_PONG:
            uiAnimation.SetLoop(true);
            break;
        }

        if (disableAfter)
        {
            uiAnimation.SetCallback(() => { gameObject.SetActive(false); });
        }
        if (Application.isPlaying)
        {
            if (playOnStart)
            {
                Play();
            }
        }
    }