示例#1
0
    public void PlayAnimations(tk2dSpriteAnimationClip.WrapMode mode, float fps)
    {
        string clipName = GetClipName();

        Dictionary <string, tk2dSpriteAnimator> .Enumerator etor = animators.GetEnumerator();
        while (etor.MoveNext())
        {
            tk2dSpriteAnimator animator = etor.Current.Value;
            if (!animator.gameObject.activeInHierarchy)
            {
                continue;
            }

            tk2dSpriteAnimationClip clip = animator.GetClipByName(clipName);
            if (null == clip)
            {
                clipName = GetClipName(PlayerAniConifg.directionStatus.SOUTHEAST, action, isRiding);
                clip     = animator.GetClipByName(clipName);
            }

            if (null == clip)
            {
                JZLog.LogWarning(etor.Current.Key + " 没有该动画数据: " + clipName);
                continue;
            }

            clip.wrapMode          = mode;
            clip.fps               = fps;
            animator.DefaultClipId = 0;
            animator.PlayFromFrame(clip, 0);

            CheckRotation(etor.Current.Key, direction, animator);
            CheckLayer(etor.Current.Key, animator.gameObject.transform);
        }
    }
示例#2
0
    /// <summary>
    /// 更新所有序列帧
    /// </summary>
    public void playAllAnimation()
    {
        string clipName = GetClipName();

        Dictionary <string, tk2dSpriteAnimator> .Enumerator etor = animators.GetEnumerator();
        while (etor.MoveNext())
        {
            tk2dSpriteAnimator animator = etor.Current.Value;
            if (!animator.gameObject.activeSelf)
            {
                continue;
            }

            tk2dSpriteAnimationClip clip = animator.GetClipByName(clipName);

            if (null == clip)
            {
                clipName = GetClipName(PlayerAniConifg.directionStatus.SOUTHEAST, action, isRiding);
                clip     = animator.GetClipByName(clipName);
            }

            if (null == clip)
            {
                JZLog.LogWarning(etor.Current.Key + " 没有该动画数据: " + clipName);
                continue;
            }

            switch (action)
            {
            case PlayerAniConifg.actionStatus.DIE:
            case PlayerAniConifg.actionStatus.ATTACK:
            case PlayerAniConifg.actionStatus.HURT:
                clip.wrapMode = tk2dSpriteAnimationClip.WrapMode.Once;
                break;

            default:
                clip.wrapMode = tk2dSpriteAnimationClip.WrapMode.Loop;
                break;
            }

            clip.fps = 30f;
            animator.DefaultClipId = 0;
            animator.PlayFromFrame(clip, 0);

            CheckRotation(etor.Current.Key, direction, animator);
            CheckLayer(etor.Current.Key, animator.gameObject.transform);
        }
    }