View Issue Details

IDProjectCategoryView StatusLast Update
0023732Runner[All Projects] GeneralPublic2021-07-29 09:26
ReporterMicky1702Assigned ToCoreTech 
PriorityNoneSeverityC - GeneralReproducibility<25%
Status ResolvedResolutionFixed 
PlatformWindowsOS OS Version
Product Version 
Target VersionFixed in Version 
Summary0023732: skeleton_animation_set_ext() does not restart animations correctly
DescriptionDue to the documentation, skeleton_animation_set_ext() should work exactly like skeleton_animation_set_() , unless that the last command always use automatically track 0.

But it turned out, that skeleton_animation_set_ext() does not restart an animation correctly, which was stopped with skeleton_animation_clear(0);, while this works with skeleton_animation_set_() properly.

Seems to me, as if
skeleton_animation_clear(track) has no effect for an animation started
with skeleton_animation_set_ext(animname, track). But it should has, as a
controlled beginning of such an animation is important for the graphical
appearance either.

 In the meantime I solved the issue.

What I found out, is:

starts an animation always at frame 0.

So this will have no effect, the animation starts nevertheless at frame 0:
image_index =20;

You can however start an animation at frame 20 with this code:
image_index =20;

To make things more irritating,
skeleton_animation_set_ext(anim_name, trackindex);
does NOT start automatically at frame 0, but it takes the image_index,
which is set, when it comes next to drawing.
So either
image_index =20;
skeleton_animation_set_ext(anim_name, 0);
skeleton_animation_set_ext(anim_name, 0);
image_index =20;
will next start the animation at track 0 with frame 20.

Also several animation on different tracks will always start at the same
image_index =10;
skeleton_animation_set_ext(anim_name0, 0);
image_index =20;//this overrides code before: image_index =10;
skeleton_animation_set_ext(anim_name1, 1);
image_index =15;//this overrides code before: image_index =20;
skeleton_animation_set_ext(anim_name2, 2);
All three animation will next start at the last set frame-value, which is

You can stop animations running on different tracks at different frames
The animation on this track freezes at the currently reached image_index.
But this does not stop image_index from furtherly being automatically
upcounted in every step.
If then
skeleton_animation_set_ext(anim_name, trackindex);
is executed and no setting for image_index was done, the animation starts
at the currently reached
image_index, which gives the thing a random appearance.

This was the object of my bug-report.
Additional InformationOriginal helpdesk ticket:
TagsRunner, Spine
1.4 Found In1.4.1760
2.x Runtime Found In
2.x Runtime Verified In



2021-07-29 09:26

Developer   ~0066534

No longer reproduces in v2.3.3. Closing.