Hola, hace ya bastante que no toco el flash, y una de las cosas que más se me atragantaban antes, ahora me resulta imposible de digerir.
Se trata de
referenciar las coordenadas de un clip de película con respecto otra línea de tiempo, en este caso, con respecto a a la linea de tiempo principal. En teoría tendría que ser fácil, pero no lo consigo.
En la línea de tiempo principal tengo un movie clip cuya instancia se llama
menu, el cual contiene a su vez 4 movie clips que son 4 cuadrados pegados para las 4 opciones de
menu, y que deben separarse al inicio, moverse lentamente, y rebotar con las paredes del área superior del escenario (escenario: 800x600, área: 800x70).
La instancia
menu la tengo en la posición del escenario, o sea de la linea de tiempo ppal, (350,15).
Dentro de
menu tengo dos fotogramas, el primero de inicialización de las variables que dan la velocidad de movimiento y el sentido hacia donde se mueven, y defino un método
onEnterFrame para cada una de las 4 instancias de las opciones de
menu donde se les da movimiento y donde la parte más importante es las sentencias
if que comprueban que el movie clip que toca rebote al llegar a una pared.
Ahí está el problema, cómo referencio las coordenadas del escenario desde cada uno de los movie clips? Yo hice algo así:
opcion1.onEnterFrame = function() {
....
if (this._parent._x <= 0 || this._parent._x >= 800) {
this.signoX = this.signoX * -1; // Cambio de sentido
}
... // análogamente para la y, pero entre 0 y 70
};
pero no funciona, y estoy seguro que es al referenciar las coordenadas. Tampoco funciona con
this._parent._parent._x
En el segundo fotograma hago un
stop(); para que no se inicialicen de nuevo las variables.
Y otra cosa más, estando dentro de un método por ejemplo
opcion1.onEnterFrame, el cual está a su vez definido en la línea de tiempo de
menu, si uso
this, hago referencia a la línea de tiempo de
opcion1 o a la de
menu? Si no me equivoco, dentro del método sería a la de
opcion1, y fuera del método a la de
menu, no?
Agradecería vuestra ayuda a ver si me queda claro de una vez por todas