Thanks, I think you're right. But if I did this now, no one would see my animation as you said.
Yes, at least they wouldn't if they get close enough to the rock, because that'd need a different animation. (such as a vault animation) A long jump where the player gets just barely to the rock could instead have a reach out animation that then transitions into the hanging state. Since the only way to get ontop of an object from the hanging state is the pull up animation, that'd be where people could still see your animation everytime they pull up from the hanging state.
Not sure how you're handling the collision calculation, but you could basically have a second collision area like this:
If the player is inside the yellow collision area (close to the rock but not close enough to catch) and the player's unit vector is below a threshold value (e.g. the player is not really moving forward anymore but only falling) and the player is pressing the directional key into the correct direction (the player wants to get ontop of the rock, not fall off the rock) you transition into the outstretched arms state. If the player, while in the outstretched arms state, manages to reach the blue collision area, you have him transition into the hanging state.
So basically you seperate into:
- the player jumps at a rock and has enough momentum to quickly vault onto it
- the player jumps at a rock but doesn't have enough momentum to vault, and instead has to reach out and grab the edge, hang from it, and then pull up to get on top of the rock.
It's not a big thing, but it would make the jumping elements more fluid, you could add further detail to the pull-up animation, and you could create a vault animation that - similar to the falling and sliding animations - shows the player what's under the skirt.