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

[SOLUCIONADO] Como resumir todas estas funciones en un switch??

Estas en el tema de Como resumir todas estas funciones en un switch?? en el foro de Flash y Actionscript en Foros del Web. Hola a todos! Resulta que quiero hacer un jueguito simple, pero al momento de hacer que el monito se mueva, me saltan estos problemas (no, ...
  #1 (permalink)  
Antiguo 10/06/2013, 20:21
 
Fecha de Ingreso: septiembre-2012
Ubicación: Jalisco, México
Mensajes: 38
Antigüedad: 12 años, 2 meses
Puntos: 1
Pregunta Como resumir todas estas funciones en un switch??

Hola a todos! Resulta que quiero hacer un jueguito simple, pero al momento de hacer que el monito se mueva, me saltan estos problemas (no, no son de error de código).

Tengo el AS3 tal que así:

Código:
/* == Para mover al personaje == */
direccion_derecha.addEventListener(MouseEvent.MOUSE_DOWN,mover_derecha);
function mover_derecha(event:MouseEvent):void
{
   Object(this).jugador.x ++;
}
direccion_izquierda.addEventListener(MouseEvent.MOUSE_DOWN, mover_izquierda);
function mover_izquierda(event:MouseEvent):void
{
   Object(this).jugador.x -= 20;
}
direccion_abajo.addEventListener(MouseEvent.MOUSE_DOWN, mover_abajo);
function mover_abajo(event:MouseEvent):void
{
   Object(this).jugador.y += 20;
}
direccion_arriba.addEventListener(MouseEvent.MOUSE_DOWN, mover_arriba);
function mover_arriba(event:MouseEvent):void
{
   Object(this).jugador.y -= 20;
}
Sé que se puede hacer que se mueva en una sola función y que cada boton hará algo distinto. Ese es el tema, ¿cómo hacerlo?

NOTA: Está orientado a dispositivos tocuh, NO se debe usar el teclado. Por esta misma razón, me gustaría saber si es posible que mientras mantenga pulsado un boton en el swf, se mantenga haciendo la acción. O sea, que si con el dedo (o mouse, el chiste es no usar el teclado) mantengo presionado el boton que mueve al personaje a la izquierda, siempre se mueva, y NO se ejecute UNA SOLA VEZ; porque así como está, solo me lo mueve 20 cada que lo presiono.

De antemano, gracias por su ayuda
  #2 (permalink)  
Antiguo 11/06/2013, 09:39
Avatar de Manuellama  
Fecha de Ingreso: noviembre-2006
Ubicación: Zafra, Extremadura, Spain, Spain
Mensajes: 174
Antigüedad: 18 años
Puntos: 10
Respuesta: Como resumir todas estas funciones en un switch??

Código as3:
Ver original
  1. import flash.events.MouseEvent;
  2. import flash.display.MovieClip;
  3. import flash.events.Event;
  4.  
  5.  
  6. //Declaro las variables
  7.  
  8. // Variable boolean para saber si el ratón está presionado o no (true o false)
  9. var mousedown:Boolean = new Boolean();
  10. // Variable para definir qué clip de película es el e.target o destino del ratón al ser presionado
  11. var mc;
  12. // El clip de película del mono
  13. var mono:MovieClip = mono_mc;
  14.  
  15. stage.addEventListener(MouseEvent.MOUSE_DOWN, function (e:MouseEvent){
  16.  
  17.    // El ratón está presionado
  18.    mousedown = true;
  19.    
  20.    // El clip de película es definido
  21.    mc = e.target;
  22.    
  23.    
  24.    });
  25.  
  26. stage.addEventListener(MouseEvent.MOUSE_UP, function (e:MouseEvent){
  27.  
  28.    // El ratón no está pulsado
  29.    mousedown = false;
  30.    
  31.    
  32.    
  33.    });
  34.  
  35. stage.addEventListener(Event.ENTER_FRAME, function (e:Event){
  36.  
  37.  // Si el ratón está presionado, ejecutar código según nombre del clip de película
  38.  if(mousedown == true){  
  39.    switch(mc.name){
  40.    // Condicionales if para que el mono no salga de la pantalla.
  41.    case "arriba_mc":
  42.    
  43.  if (mono.y>20){
  44.    mono.y-=20;
  45. }
  46. break;
  47.    
  48.    case "abajo_mc":
  49.    if (mono.y<600){
  50.    mono.y+=20;
  51.    }
  52.    
  53. break;
  54.    case "izquierda_mc":
  55.    if(mono.x>20){
  56.    mono.x-=20;
  57.    }
  58.    
  59. break;
  60.    case "derecha_mc":
  61.    
  62.    if (mono.x<800){
  63.    mono.x+=20;
  64.    }
  65.    
  66. break;
  67.    }
  68.  }
  69.   });

Ahí llevas el código. Si tienes alguna duda me lo dices.
Tienes que colocar los símbolos en el escenario con sus nombres correspondientes.
  #3 (permalink)  
Antiguo 11/06/2013, 18:36
 
Fecha de Ingreso: septiembre-2012
Ubicación: Jalisco, México
Mensajes: 38
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: Como resumir todas estas funciones en un switch??

Cita:
// Variable para definir qué clip de película es el e.target o destino del ratón al ser presionado
var mc;
// El clip de película del mono
var mono:MovieClip = mono_mc;
Esa parte no la comprendo :S mi "movie clip" que es el jugador del juego, se llama precisamente "jugador" y ya existe dentro del fotograma.

Como puedo adaptar eso al código?

Muchas gracias :D
  #4 (permalink)  
Antiguo 11/06/2013, 19:33
 
Fecha de Ingreso: septiembre-2012
Ubicación: Jalisco, México
Mensajes: 38
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: Como resumir todas estas funciones en un switch??

Ya lo he solucionado xD!! Olvidando mi pregunta anterior; arrojo otra...:

Como puedo hacer para que si presiono uno y otro a la vez, me ejecute ambas funciones (ejemplo, caminar en diagonal arriba-derecha) y ADEMAS no necesitar soltar y re-apretar los botones (remarco que es juego touch, lo mas fácil para el usuario es que sea como una palanquita de un joystick), tal que solo arrastre mi dedo, y SIN la necesidad de estar apretando y soltando me ejecute la acción de "caminar" dependiendo del botón de dirección que aprieto. No se si me explico :P
  #5 (permalink)  
Antiguo 11/06/2013, 23:48
Avatar de Manuellama  
Fecha de Ingreso: noviembre-2006
Ubicación: Zafra, Extremadura, Spain, Spain
Mensajes: 174
Antigüedad: 18 años
Puntos: 10
Respuesta: Como resumir todas estas funciones en un switch??

http://active.tutsplus.com/tutorials...touch-devices/

Ahí le puedes echar un vistazo...
  #6 (permalink)  
Antiguo 11/06/2013, 23:52
 
Fecha de Ingreso: septiembre-2012
Ubicación: Jalisco, México
Mensajes: 38
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: Como resumir todas estas funciones en un switch??

Vale lo revisaré, MUCHISIMAS GRACIAS :D!

Etiquetas: juego, movimiento, switch
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:23.