ahh, yo lo propongo de esta manera
--dibuja un pato con el pico apuntando a tu derecha
--conviertelo a movie clip y en la parte donde dice registro seleccionas el centro
despues
en el nombre de instancia lo llamas mc
y colocas este codigo en el primer fotograma
Código :
/////////////////
var vel_x:Number = random(12)+2;
var vel_y:Number = random(12)+2;
var aux_x:Number = -1+(random(2)*2);
var aux_y:Number = -1+(random(2)*2);
var rotate_y:Number = 0;
var rotate_x:Number = 0;
function mover() {
/////////////////////////
//con esto logramos que rebote en el escenario el mc
if (mc._x>Stage.width) {
aux_x = -1;
}
if (mc._x<0) {
aux_x = 1;
}
if (mc._y>Stage.height) {
aux_y = -1;
}
if (mc._y<0) {
aux_y = 1;
}
mc._x = mc._x+(vel_x*aux_x);
mc._y = mc._y+(vel_y*aux_y);
/////////////////////////////
//con esto logramos rotar el mc
/* 270 grados
-1 y
|
-1 |
180 x-----------------------x (0 - 360)
| +1
|
y +1
90
*/
/////////////////////////////
if (aux_y == 1) {
rotate_y = 90;
}
if (aux_x == 1) {
rotate_x = 0;
}
if (aux_x == 1 && aux_y == 1) {
mc._rotation = ((rotate_y*vel_y)+(rotate_x*vel_x))/(vel_x+vel_y);
}
////////////////////////
if (aux_y == 1) {
rotate_y = 90;
}
if (aux_x == -1) {
rotate_x = 180;
}
if (aux_x == -1 && aux_y == 1) {
mc._rotation = ((rotate_y*vel_y)+(rotate_x*vel_x))/(vel_x+vel_y);
}
////////////////////
if (aux_y == -1) {
rotate_y = 270;
}
if (aux_x == -1) {
rotate_x = 180;
}
if (aux_x == -1 && aux_y == -1) {
mc._rotation = ((rotate_y*vel_y)+(rotate_x*vel_x))/(vel_x+vel_y);
}
////////////////////////////////
if (aux_y == -1) {
rotate_y = 270;
}
if (aux_x == 1) {
rotate_x = 360;
}
if (aux_x == 1 && aux_y == -1) {
mc._rotation = ((rotate_y*vel_y)+(rotate_x*vel_x))/(vel_x+vel_y);
}
}
var intervalo:Number = setInterval(mover, 50);
el codigo es extenso pero lo puse de esa forma para que sea un poco mas comprensible
se puede simplificar mucho mas
espero te sirva

o tambien te puedo mandar el .fla