Esempio n. 1
0
        /// <summary>
        /// 创建一个消失果冻效果的Action.
        /// </summary>
        /// <param name="target">目标对象.</param>
        /// <param name="delay">延迟秒数.</param>
        public static MTFiniteTimeAction CreateJellyPopOutAction(GameObject target, float delay = 0.0f)
        {
            var act1 = new MTScaleTo(0.1f, 0.1f, 0f, 0f);

            var sequence = new MTSequence(new MTDelayTime(delay), act1);

            return(sequence);
        }
Esempio n. 2
0
    public static MTFiniteTimeAction GetBounce(float moveTime, Transform tar, Vector3 pos, float bounceRatio = 0.15f)
    {
        Vector3 from           = tar.position;
        Vector3 normalize      = (pos - from).normalized;
        Vector3 bounceOverPos  = pos + normalize * bounceRatio;
        Vector3 bounceBackPos  = pos - normalize * bounceRatio;
        float   bounceInterval = 0.02f;
        float   realMoveTime   = moveTime - bounceInterval * 3f;
        var     seq            = new MTSequence(new MTMoveToWorld(realMoveTime, bounceOverPos), new MTMoveToWorld(bounceInterval * 1f, bounceBackPos), new MTMoveToWorld(bounceInterval, pos));

        return(seq);
    }
Esempio n. 3
0
    void StartNextScrollAction()
    {
        if (_autoScrollCurrState != null)
        {
            _autoScrollActions.Remove(_autoScrollCurrState.Actions(0) as MTMoveTo);
            _autoScrollCurrState = null;
        }

        if (_autoScrollActions.Count == 0)
        {
            return;
        }

        MTSequence action = new MTSequence(_autoScrollActions[0], new MTCallFunc(delegate {
            StartNextScrollAction();
        }));

        _autoScrollCurrState = _contentHolder.gameObject.RunAction(action) as MTSequenceState;
    }
Esempio n. 4
0
        /// <summary>
        /// 开始呼吸效果.
        /// </summary>
        /// <returns>The breathe effect.</returns>
        /// <param name="target">目标.</param>
        /// <param name="scale1">Scale1.</param>
        /// <param name="scale2">Scale2.</param>
        /// <param name="duration">一呼或者一吸的持续时间(单位:秒数),默认为0.9秒.</param>
        public static MTFiniteTimeAction CreateBreatheEffect(GameObject target, float scale1, float scale2, float duration = 0.9f)
        {
            Vector3 scale = target.transform.localScale;

            var sx = scale.x;
            var sy = scale.y;

            var sx1 = scale1 * sx;
            var sx2 = scale2 * sx;
            var sy1 = scale1 * sy;
            var sy2 = scale2 * sy;

            var act1 = new MTEaseIn(new MTScaleTo(duration, sx1, sy2, scale.z), 1f);
            var act2 = new MTEaseIn(new MTScaleTo(duration, sx2, sy1, scale.z), 1f);

            var sequence = new MTSequence(act1, act2);
            var repeat   = new MTRepeatForever(sequence);

            return(repeat);
        }