I understand this is on the feature todo list, but I'd like to present what I'm trying to accomplish so that the functions I need aren't overlooked when the animation system is updated... And also to see if anybody has an idea for a workaround that works for the current version.
The situation: I have an animation of an object leaning right. I want the animation to hold at full lean while the control is still pressed down, and to finish out or return to "standing" when the control is released. At finish, return to default animation.
And here's some pseudo code.
///
CONTROL "Lean Right" IS HELD DOWN,
+ ANIMATION "Default" IS ACTIVE (not necessarily playing):
Set animation to "Lean Right.";
ANIMATION "Lean Right" REACHES FRAME 5/10,
+ CONTROL "Lean Right" IS HELD DOWN:
Pause animation.;
ANIMATION "Lean Right" REACHES FRAME 5/10,
+ CONTROL "Lean Right" NOT IS HELD DOWN:
Play animation.;
ANIMATION "Lean Right" REACHES FRAME 10/10:
Set animation to "Default.";
///
Currently I am running into a few problems.
1. Non-looped animations will trigger the first time, and return to default by themselves. However, the animation can never be triggered again.
2. Looped or Ping-ponged animations cannot return the animation frame, and therefore cannot be stopped when I want them.
3. Mirrored BUT SEPARATE animations, when triggered from any animation other than Default begin playing at the current frame of the previous animation.
4. While a looped animation is playing, events to change animation back to Default on cue are ignored.
I have tested these inconsistencies with both XP sp2 and Vista sp1.
So.. within the current animation structure, does anyone have any ideas how this effect can be achieved?