It's a bit of work, but you could use a variable to check if an animation is already happening before starting another animation, and have different variables for each shortcut. There might be an easier way to do it, but I came up with something like this:
Code:
animating1 = false;
function animate1(){
if(animating1 == false){
animating1 = true;
image1.AnimateFloat('RotateAngle', 15, .1);
image1.AnimateFloatDelay('RotateAngle', -15, .2, .1);
image1.AnimateFloatDelay('RotateAngle', 0, .1, .3);
setTimeout("SetAnimation1Done",400);
}
}
function SetAnimation1Done(){
animating1 = false;
}
And you could make that expandable that using the eval function, so that all the shortcuts can use the same function, but unless you could find a way to pass a parameter with setTimeout in Xwidget, you'd have to have a bunch of SetAnimationNDone functions, so it wouldn't be infinitely expandable. It's possible in regular Javascript, but as far as I've seen not for us because neither the nested function version nor the parameter version of setTimeout work in Xwidget. I'm gonna go post that in the feature suggestion forum right now...