Hola.
Yo manipularía las varibles. Por ejemplo en vez de _x+=8, pondría x+=ix. Antes, mediando onClipEvent (load) le asignaría el valor 8 a ix. Entonces cuando _x=500 (o cualquiera que sea el límite de la pantalla), ix=0. ¿Me explico? De este modo podrás volverle a asignar valor a la ix.
Para el elástico, si te he entendido bien, debes manipular la _xscale.
Yo haría algo así:
Código:
onClipEvent (load){
ix=8; //variable incremento de _x
el=-5; //variable elástica
}
onClipEvent (enterFrame){
this._x+=ix;
if (this._x>500){ //suponiendo que en la posición 500 debe detenerse
this._x=500;
ix=0; //se detiene el movimiento
onEnterFrame=function(){ //se inicia el rebote elástico
this._xscale+=el;
el+=1;
if (el>5){ //acaba el rebote
this._xscale=100;
ix=-8; //el objeto sale rebotado
delete onEnterFrame;
}
}
}
}
Bueno, no lo he probado y puede que haya errores. Ahora no tengo el Flash a mano, pero dentro de un par de horas lo compruebo. Puedes cambiarle el valor de las variables para ajustarlo a lo que quieres. Ah, y otra cosa, tienes que alinear el objeto en el clip de película a la derecha, para que al manipular su escala lo haga sólo por su lado izquierdo. Un saludo.