In the past, I've used an invisible rectangular platform object to which I would pin the player's animated Sprite. The platform object would also act as the collision object since it only has one frame of animation.
Now that I think about it though, given that you can apply a single bounding box to "All Animations" in the Sprite Editor, why not leave the collision detection in the animated sprite itself? Occasionally, the collision box is going to change (for example if the player ducks, changes size, etc), and that way, when you set the Sprite's Animation to "Anim_Ducking", the game will automatically use the collision polygon in that particular animation. This would also mean that you could switch the player to a different sprite (for example, if the game had multiple playable characters), and the sprite would contain the appropriate collision polygons.
This is my line of thinking:
Generic Platform Object (contains local variables for the Player)
Family.PlayableCharacter (pinned to generic platform object)
-- Sprite CharacterX (contains bounding polygons)
-- Sprite CharacterY (contains bounding polygons)
-- Sprite CharacterZ (contains bounding polygons)
Doesn't that seem okay? Are there any downsides that I'm missing?
This is more of a design-level question, but I'm really fussy about keeping everything nice and hierarchical.
Thanks,
-- cacotigon