I'm interested in this as well.
I'm working on a "pseudo" iso 8way platformer with "jumpable" things and a z attribute for mobs that jump or fly.
All my mobs (player and enemy) consist of:
- an invisible collision/movement sprite
- a shadow sprite
- a player sprite for animations
- an effect sprite (emoticons for sleep, anger, talking etc.)
- (optional) a health bar sprite
When the player jumps, I increase his z-value, unpin him, move the animation sprite up to his z-value and repin him. Meanwhile I shrunk the shadow sprite while he's in the air.
Worked perfect until I started smashing the buttons/keys and had him move around while jumping. Then there where moments, when his animation sprite and his shadow and collision sprite lost their relative positions because while unpinned, other movement events changed the position of the collision sprite but didn't update the position of the animation sprite.
This could not happen if I maintain all sprite positions based on "every tick", the position of the collision sprite and sprite variables like z. Is it better to replace the existing PIN behavior with events that update the position every tick? I thought that with more mobs on screen PIN might be better performance wise...