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

Desplazar movieclip de corrido AS3

Estas en el tema de Desplazar movieclip de corrido AS3 en el foro de Flash y Actionscript en Foros del Web. Hola que tal..., Como puedo hacer para que el movieclip cuadrado se desplaze de corrido al apretar botón . Hize este código que al apretar ...
  #1 (permalink)  
Antiguo 03/01/2010, 17:40
Avatar de annirami  
Fecha de Ingreso: septiembre-2009
Ubicación: Lima, Perú
Mensajes: 53
Antigüedad: 15 años, 1 mes
Puntos: 3
Desplazar movieclip de corrido AS3

Hola que tal...,
Como puedo hacer para que el movieclip cuadrado se desplaze de corrido al apretar botón. Hize este código que al apretar boton, se desplaza un paso y se detiene.

boton.addEventListener (MouseEvent.MOUSE_DOWN,subir);
function subir (event:MouseEvent): void{
cuadrado.y+=10;
}


Talvez sea algo sencillo, pero no se como hacerlo.
gracias y saludos...
  #2 (permalink)  
Antiguo 03/01/2010, 17:50
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 17 años, 5 meses
Puntos: 67
Respuesta: Desplazar movieclip de corrido AS3

A que te rfieres con "de recorrido"?, si te refieres a que siga sin parar debes usar un ciclo ejemplo:
Cita:
boton.addEventListener (MouseEvent.MOUSE_DOWN,subir);
function subir (event:MouseEvent): void{
stage.addEventListener (Event.ENTER_FRAME,ciclo);
}



function ciclo(event:Event): void{
cuadrado.y+=10;
}
__________________
{ Flash }
  #3 (permalink)  
Antiguo 03/01/2010, 18:18
Avatar de annirami  
Fecha de Ingreso: septiembre-2009
Ubicación: Lima, Perú
Mensajes: 53
Antigüedad: 15 años, 1 mes
Puntos: 3
Respuesta: Desplazar movieclip de corrido AS3

hola, si me refiero a que siga sin parar, solo si estás aprentando boton, pero si deja de apretar, que se quede donde se desplazó. me dejo entender?

Algo así como este código que está en AS2:

on (press) {
this.onEnterFrame = function(){
cuadrado._x += 10;
}
}
on (release, rollOut) {
this.onEnterFrame=function(){
cuadrado.stop();
}
}


Gracias por el código que me diste pero el detalle es que se sigue desplazando, aunque ya no esté aprentando botón.
Espero me ayudes...gracias.
  #4 (permalink)  
Antiguo 03/01/2010, 18:23
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 17 años, 5 meses
Puntos: 67
Respuesta: Desplazar movieclip de corrido AS3

Elimina el ciclo así:
Cita:
boton.addEventListener (MouseEvent.MOUSE_DOWN,abajo);
boton.addEventListener (MouseEvent.MOUSE_UP,arriba);

function abajo (event:MouseEvent): void{
stage.addEventListener (Event.ENTER_FRAME,ciclo);
}

function arriba (event:MouseEvent): void{
stage.removeEventListener ("enterFrame" ,ciclo);
}


function ciclo(event:Event): void{
cuadrado.y+=10;
}
__________________
{ Flash }
  #5 (permalink)  
Antiguo 03/01/2010, 18:43
Avatar de annirami  
Fecha de Ingreso: septiembre-2009
Ubicación: Lima, Perú
Mensajes: 53
Antigüedad: 15 años, 1 mes
Puntos: 3
Respuesta: Desplazar movieclip de corrido AS3

Salió bien....¡Gracias! por tu ayuda
Muchos saludos :)
  #6 (permalink)  
Antiguo 03/01/2010, 18:48
 
Fecha de Ingreso: enero-2008
Ubicación: Concepción, Chile
Mensajes: 76
Antigüedad: 16 años, 9 meses
Puntos: 3
Respuesta: Desplazar movieclip de corrido AS3

Cita:
Iniciado por Diegoazul Ver Mensaje
Elimina el ciclo así:
Efectivamente el código debería funcionar a la perfección pero yo lo modifiqué para que solo utilices una sola función.

Código ACTIONSCRIPT:
Ver original
  1. boton.addEventListener (MouseEvent.MOUSE_DOWN,una_sola_funcion);
  2. boton.addEventListener (MouseEvent.MOUSE_UP,una_sola_funcion);
  3.  
  4. function una_sola_funcion(e:MouseEvent): void{
  5.     if(e.buttonDown){
  6.         stage.addEventListener(Event.ENTER_FRAME,ciclo);
  7.     }else{
  8.         stage.removeEventListener(Event.ENTER_FRAME ,ciclo);
  9.     }
  10. }
  11.  
  12. function ciclo(event:Event): void{
  13.     cuadrado.y+=10;
  14. }

Espero te sea de ayuda.
Saluda Atte.
Claudio Barrera Asencio.
  #7 (permalink)  
Antiguo 03/01/2010, 20:08
Avatar de annirami  
Fecha de Ingreso: septiembre-2009
Ubicación: Lima, Perú
Mensajes: 53
Antigüedad: 15 años, 1 mes
Puntos: 3
Respuesta: Desplazar movieclip de corrido AS3

Gracias por la ayuda...sirve de mucho, aquí envío un enlace aplicando los códigos:

http://dl.dropbox.com/u/1550516/desp...ar-imagen.html

cuadrado es la imagen, y puse 4 botones:derecha, izquierda, arriba y abajo.

Como hacer para que el desplazamiento sólo se hasta donde termine delimite, porque cuando se sigue desplazando, se ve el fondo gris...no se si me dejo entender...algo asi como el drag, que puedes delimitar hasta donde quieres que se arrastre.

saludos...
  #8 (permalink)  
Antiguo 04/01/2010, 16:29
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 17 años, 5 meses
Puntos: 67
Respuesta: Desplazar movieclip de corrido AS3

Debes sacar una hoja de papel , dibujar tu fondo y tu imagen y empezar a hacerr calculos, esa ers la mejor forma de trabajar en estas situaciones , te dejo lo que pondria en la flecha que apunta hacia abajo:


Cita:
foto_mc.y-=1;

if(foto_mc.y<-(foto_mc.height-fondo_mc.height)){

foto_mc.y=-(foto_mc.height-fondo_mc.height);

}
__________________
{ Flash }
  #9 (permalink)  
Antiguo 04/01/2010, 23:57
Avatar de annirami  
Fecha de Ingreso: septiembre-2009
Ubicación: Lima, Perú
Mensajes: 53
Antigüedad: 15 años, 1 mes
Puntos: 3
Respuesta: Desplazar movieclip de corrido AS3

Hola, gracias por la ayuda, si pues tienes razón, uno mismo tiene que hacer los cálculos y salió algo bonito:

http://dl.dropbox.com/u/1550516/desp...r-imagen2.html

Sólo pongo el código del botón de arriba:

Código:
arriba.buttonMode=true;
arriba.addEventListener(MouseEvent.MOUSE_DOWN,funcion);
arriba.addEventListener(MouseEvent.MOUSE_UP,funcion);

function funcion(e:MouseEvent):void {
	if (e.buttonDown) {
		stage.addEventListener(Event.ENTER_FRAME,ciclo);
	} else {
		stage.removeEventListener(Event.ENTER_FRAME ,ciclo);
	}
	if (cuadrado.y>210) {
		cuadrado.y=-(fondo.height-490);
	}
}
function ciclo(event:Event):void {
	cuadrado.y+=10;
}
Pero...me gustaría que cuando la foto se desplaze y llegue a su tope, cuadrado se detenga por completo. Porque cuando aprietas el botón la imagen se sigue desplazando asi haya llegado a su tope y se puede ver el fondo gris. Cuando dejas de apretar el botón, es cuando se vuelve al sitio donde terminó la foto....Estuve probando poniendo cuadrado.stop(); o inabilitando el botón con enabled, pero todavía no me sale.

Espero me puedan dar alguna idea.
saludos y gracias...

Última edición por annirami; 05/01/2010 a las 00:00 Razón: me confundí al copiar el enlace
  #10 (permalink)  
Antiguo 04/05/2010, 12:17
 
Fecha de Ingreso: marzo-2008
Mensajes: 7
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Desplazar movieclip de corrido AS3

me sale este error en la funcion ciclo:

No se encontró el tipo o no es una constante en tiempo de compilación: Event.


Ayuda por favor

Etiquetas: desplazar, movieclip
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 06:22.