View Issue Details

IDProjectCategoryView StatusLast Update
0030359RunnerSpinePublic2019-01-29 17:03
ReporterDanAssigned ToMike Rennie 
PriorityHighSeverityC - GeneralReproducibility100%
Status ClosedResolutionFixed 
Platform-OSWindows 10OS VersionPro x64
Product Version2.2.1 
Target Version2.2.2Fixed in Version2.2.2 
Summary0030359: Spine: Flipping a sprite via "image_scale = -1;" no longer works, but using 0.99 instead does work
DescriptionFlipping a sprite via "image_scale = -1;" no longer works, but using 0.99 instead does work. Additionally, setting the speed of an animation can cause conflicts between setting the state of bone angles. The following sample uses both of these techniques and shows one somehow fixes the other, hence the one bug report.

On Native platforms, this has been changed by something in 2.2.1, as 2.1.5.246 to 2.2.0.261 all work correctly.
On HTML5 it is consistently broken.

Our current fixes/changes in 2.2.2 don't change anything.
Steps To Reproduce1. Run the attached sample for Windows.
2. Move the mouse to make the red box move around the character and observe that for the most part the character's body will follow the box's movement.
3. Press 1 to change the image_scale from flipping via 0.99 to use -1, and observe that this breaks the character following the box for 180 degrees of your mouse circle.
4. Press 2 to change the animation speed for the idle animation from 0 to 1.22 and observe whilst this fixes the sprite flipping it introduces the head jerking between positions each step.
5. Rollback to 2.2.0.261 and observe 1 still breaks the flipping, but pressing 2 fixes the flipping and does not have the same rapid resetting of the head position, so when both tests are active all is "fixed".
Repro: 100%

1. Run the attached sample for HTML5.
2. Move the mouse to make the red box move around the character and observe that for the most part the character's body will follow the box's movement.
3. Press 1 to change the image_scale from flipping via 0.99 to use -1, and observe that this breaks the character following the box for 180 degrees of your mouse circle.
4. Press 2 to change the animation speed for the idle animation from 0 to 1.22 and observe this completely stops the character's head from turning, but the body will flip and the idle animation is correct.
5. Observe that rolling back to 2.2.0.261/2.1.5.246 does not fix HTML5.
Repro: 100%
Additional Informationhttps://yoyogames.zendesk.com/agent/tickets/153326
TagsNo tags attached.
1.4 Found In
2.x Runtime Found In2.2.0.261
2.x Runtime Verified In2.2.2.302

Activities

Dan

2019-01-04 11:37

Adminstrator  

Spinebug0.yyz (81,483 bytes)

Mike Rennie

2019-01-08 17:17

Developer   ~0062399

The image_scale bug has been fixed (on both the C++ and HTML5 runners).

The second reported issue whereby the head jerks when the idle animation is played is actually not a bug in the runner but a bug in the sample project. Updates to bone positions\rotations should only be done in the Animation Update event as setting them in the end step event (as is done in the sample) causes them to be overridden when the animation is updated when the sprite is drawn. See the Object Events section in the documention for more details.