Пример #1
0
    // stop the current animation and reset to the base pose
    public void Stop()
    {
        animation.ClearTracks();
        skeleton.SetToSetupPose();

        _isSpineDirty = true;
    }
Пример #2
0
 static int ClearTracks(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         Spine.AnimationState obj = (Spine.AnimationState)ToLua.CheckObject(L, 1, typeof(Spine.AnimationState));
         obj.ClearTracks();
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
Пример #3
0
    public void PlayAnimation()
    {
        if (AnimStatus != null)
        {
            AnimStatus.ClearTracks();

            // AnimStatus.ClearTracks();
            if (StatusCurr == CharacterState.idle || StatusCurr == CharacterState.jumb2_slamdunk || StatusCurr == CharacterState.stun)
            {
                //  AnimStatus.ClearTracks();
                AnimStatus.SetAnimation(0, StatusCurr.ToString(), true);
            }
            else
            {
                //  AnimStatus.ClearTracks();
                AnimStatus.SetAnimation(0, StatusCurr.ToString(), false);
            }
        }
    }
Пример #4
0
        void Run(float incr, float endTime, TestListener listener)
        {
            Skeleton skeleton = new Skeleton(skeletonData);

            state.Apply(skeleton);
            while (time < endTime)
            {
                time += incr;
                skeleton.Update(incr);
                state.Update(incr);

                // Reduce float discrepancies for tests.
                foreach (TrackEntry entry in state.Tracks)
                {
                    if (entry == null)
                    {
                        continue;
                    }
                    entry.TrackTime = Round(entry.TrackTime, 6);
                    entry.Delay     = Round(entry.Delay, 3);
                    if (entry.MixingFrom != null)
                    {
                        entry.MixingFrom.TrackTime = Round(entry.MixingFrom.TrackTime, 6);
                    }
                }

                state.Apply(skeleton);

                // Apply multiple times to ensure no side effects.
                if (expected.Count > 0)
                {
                    stateListener.UnregisterFromAnimationState(state);
                }
                state.Apply(skeleton);
                state.Apply(skeleton);
                if (expected.Count > 0)
                {
                    stateListener.RegisterAtAnimationState(state);
                }

                if (listener != null)
                {
                    listener.Frame(time);
                }
            }
            state.ClearTracks();

            // Expecting more than actual is a failure.
            for (int i = actual.Count, n = expected.Count; i < n; i++)
            {
                Log(string.Format("{0,-29}", "<none>") + "FAIL: " + expected[i]);
                fail = true;
            }

            actual.Clear();
            expected.Clear();
            Log("");
            if (fail)
            {
                string message = "TEST " + test + " FAILED!";
                Log(message);
                FailTestRun(message);
            }
        }