На счет покачивания, можно это вручную анимировать и запускать в нужный момент.

Код:
myMc.onPress = function() {
rotateArrow(60, 3);
}
function rotateArrow(angle:Number, speed:Number):Void {
arrowMc.onEnterFrame = function() {
if(arrowMc._rotation > angle) {
arrowMc._rotation -=speed;
}else if(arrowMc._rotation < angle) {
arrowMc._rotation +=speed;
}else {
arrowMc.gotoAndPlay(2); // вот тут запускается анимация дрожания
delete arrowMc.onEnterFrame;
}
}
}
Писал "на лету", по этому формат никакой )