Foros del Web » Creando para Internet » Flash y Actionscript »

Mover Clip a unas coordenadas conservando la opción de arrastrar

Estas en el tema de Mover Clip a unas coordenadas conservando la opción de arrastrar en el foro de Flash y Actionscript en Foros del Web. Hola, amigos. Perdonad por publicar el mismo tema con distinto título. Como no hay respuestas, he pensado que tal vez no he elegido el título ...
  #1 (permalink)  
Antiguo 15/08/2006, 08:12
Avatar de Magnus  
Fecha de Ingreso: mayo-2003
Ubicación: Madrid. España
Mensajes: 79
Antigüedad: 20 años, 11 meses
Puntos: 0
Mover Clip a unas coordenadas conservando la opción de arrastrar

Hola, amigos.

Perdonad por publicar el mismo tema con distinto título. Como no hay respuestas, he pensado que tal vez no he elegido el título más adecuado.

Tengo un problemilla con una función que se ejecuta al pulsar un botón. Esa función lo que hace es desplazar un movieclip a un punto determinado de la película (a unas coordenadas xy). Ese movieclip además es arrastrable, y el problema es que, una vez ejecutada esa función, ya no se puede arrastrar el movieclip: cada vez que lo intentas, vuelve a esas coordenadas como si tuviera un muelle.

La función que sirve para llevarlo hasta esas coordenadas (con efecto de desaceleración) es la siguiente:
Código:
onClipEvent (load) {
	MovieClip.prototype.mueve = function(x, y, friccion) {
	this.onEnterFrame = function() {
		if (Math.round(this._x) != x || Math.round(this._y) != y) {
			this._x += Math.round((x-this._x)/friccion);
			this._y += Math.round((y-this._y)/friccion);
		} else {
			delete this.onEnterFrame;
		}
	};
};
}
Después se hace la llamada a esa función, desde un botón, como ya he dicho.

¿Cómo hago para que el movieclip arrastrable quede "liberado" por así decirlo, de esas coordenadas y se puede volver a arrastrar?

Espero haberme explicado bien. A ver si alguien me puede ayudar.

Gracias.
__________________
Magnus
  #2 (permalink)  
Antiguo 15/08/2006, 09:29
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
Hola Magnus!

Eso puede ser debido a que el método onEnterFrame no se esta eliminando, la condición que tienes ahí siempre es verdadera, revisa eso, podría ser eso el problema.
  #3 (permalink)  
Antiguo 15/08/2006, 10:38
Avatar de Magnus  
Fecha de Ingreso: mayo-2003
Ubicación: Madrid. España
Mensajes: 79
Antigüedad: 20 años, 11 meses
Puntos: 0
Gracias.

Tal vez tengas razón, pero no domino ActionScript y lo de onEnterFrame no lo entiendo muy bien. Solo puedo dar palos de ciego.

La función desplaza el clip a las mismas coordenadas en las que se encontraba al principio (antes de arrastrarlo).

Por tanto, si no has arrastrado el clip antes de ejecutar la función, ésta no lo desplaza, sino que lo deja donde está. Cuando sucede esto, luego se puede arrastrar sin ningún problema.

El problema sucede cuando lo has arrastrado de su posición original. Si al ejecutarse la función, lo encuentra desplazado y lo mueve a las coordenadas fijadas, ya no se puede arrastrar más.

Por cierto, la función está asignada a la instancia. No está en un fotograma ni el botón que la ejecuta.

Esto debe de ser muy fácil para alguien que esté familiarizado con ActionScript.
__________________
Magnus
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:04.