I don't have an example to provide at this time, but if you look under the hood of my Bananas game, I use affine transform to rotate the monkeys when they fall off the buildings. It's a fairly straight forward function.
Old thread but could you share how you got the animation so smooth? I am struggling to get it not to look choppy.
Why don’t you show us, what/how are you doing?
I control the pacing of my animations with a timer component. I simply add a custom integer property to the paintable canvas, and I bind the custom prop to the value property on the timer. In this way, the canvas will repaint every time the timer counts. For my animations, I usually set the timer to count in hundredths, so the animations move at approximately 100 frames per second. This usually produces a smooth movement that doesn't significantly impact overall performance. Remember that the canvas will repaint anytime a custom property changes value, so if coordinate data needs to be stored somewhere to track objects that are being rendered by the canvas, that data should be stored in the parent container instead of on the canvas itself. If too many things are triggering unintended repaints, the resultant uneven pacing will become noticeable to the user.