Nonuniform sprites. (Rubberbanding)


So I got a problem with different sized sprites in a animation. It works just fine with the sprites facing to the left, since the sprite is drawn from the left and when it gets resized it does so to the right. This gives a problem with the sprites facing right tho, a rubberbanding feeling.


The right side of the sprite is the one moving instead and thus showing the difference in the sprite size, moving the head back and forth.

Anyone got some suggestions on how to solve this?
One possible solution is to use the same size for all the sprites.

Another way is to draw the sprite relative to the middle of the sprite, so if you draw a sprite at position (10,10) that means the the middle of the sprite would be at (10,10) instead of the top left corner. This doesn't really fix the problem but it would do the left and right animations equally bad. You could make it look good by adding some extra padding to the larger sprite but maybe that defeats the purpose of having sprites of different size.

Instead of using the middle of the sprite you could somehow specify for each sprite at what offset it should be drawn at. That would solve the problem but it is also a bit of extra work.
Wow, I had been thinking of the offset stuff before and after reading this I decided to try it again in a different fashion than what I had done before, and I got it working in 5min. Lol

Thank you for your reply :P
Topic archived. No new replies allowed.