Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: wrnr en Febrero 07, 2013, 12:34:04 PM

Título: como defino los sprites de movimiento si uso el mouse para controlarlo? [RESUELTO]
Publicado por: wrnr en Febrero 07, 2013, 12:34:04 PM
mi problema es que no tengo ni idea como hacer para que reprodusca el sprite que tiene que ser con cada accion: derecha (que muestre el
sprite "run right" izquierda "run left" etcetera.
el estilo del juego es helbreath o argenmu. osea que uso el mouse para mover al player. los comandos que uso son: en STEP > TEST INTANCE
COUNT  - START BLOCK  - STEP TOWARDS - END BLOCK -.
quiero saber como puedo definir los sprite para cada direccion.
gracias y saludos.
Título: Re:como defino los sprites de movimiento si uso el mouse para controlarlo?
Publicado por: romon_28 en Febrero 07, 2013, 10:41:53 PM
algo basico seria asi:

if direction = 000 {sprite_index=Sp_rum_left;}
if direction = 090 {sprite_index=Sp_rum_up;}
if direction = 180 {sprite_index=Sp_rum_right;}
if direction = 270 {sprite_index=Sp_rum_down;}
Título: Re:como defino los sprites de movimiento si uso el mouse para controlarlo?
Publicado por: darius en Febrero 07, 2013, 10:59:28 PM
tambien puedes hacerlo asi:

switch (direction)
{
  case 0: sprite_index=spr_1; break;
  case 90: sprite_index=spr_2; break;
  case 180: sprite_index=spr_3; break;
  case 270: sprite_index=spr_4; break;
}

en sprite 1,2 3 y 4 pones los sprites correspondientes  :P
recuerda que la dirección 0 es hacia la derecha; 90 hacia arriba; 180 hacia la izquierda y 270 hacia abajo
saludos   ;)
Título: Re:como defino los sprites de movimiento si uso el mouse para controlarlo?
Publicado por: wrnr en Febrero 08, 2013, 06:48:23 PM
hola, gracias por la ayuda, quiere pero no quiere... ©_© xD
puse el codigo en step con los nombres de los sprites que debe ser, pero no funcionan ( el primer ejemplo lo que hace es reproducir todos los sprites juntos y el segundo no hace nada, sigue reproduciendo el sprite de "quieto".
me podrian ayudar con una imagen o algo asi?
saludos
Título: Re:como defino los sprites de movimiento si uso el mouse para controlarlo? [AUN NO RESUELTO]
Publicado por: petpan13 en Abril 22, 2013, 09:53:40 PM
yo estoy con el mismo tema alguien podría poner ejemplo tutorial o algo ami tampoco me funcionan esos codigos
Título: Re:como defino los sprites de movimiento si uso el mouse para controlarlo? [AUN NO RESUELTO]
Publicado por: Klind en Abril 23, 2013, 01:38:04 AM
Creo que no te funcionan los códigos porque no estás moviendo al personaje usando el direction. ¿Qué método estás usando para mover al personaje?
Título: Re:como defino los sprites de movimiento si uso el mouse para controlarlo? [AUN NO RESUELTO]
Publicado por: Wadk en Abril 23, 2013, 10:44:17 AM
Creo que lo que pasa es que esos códigos solo hacen algo cuando la dirección es exactamente 0 o exactamente 90 o exactamente 180 o exactamente 270, y al mover el personaje con el mouse no pasa seguido. Yo haría lo siguiente:
[gml]switch (floor(direction / 45)) {
    case 1:
    case 2:
        sprite_index = sprArriba;
        break;
    case 3:
    case 4:
        sprite_index = sprIzquierda;
        break;
    case 5:
    case 6:
        sprite_index = sprAbajo;
        break;
    case 7:
    case 0:
        sprite_index = sprDerecha;
        break;
}[/gml]

También puede ser lo que dice Klind. wrnr mencionó que usa "step towards", pero no sé si eso modifica la direction o no.
Título: Re:como defino los sprites de movimiento si uso el mouse para controlarlo? [AUN NO RESUELTO]
Publicado por: Klind en Abril 23, 2013, 06:57:26 PM
Cierto, es lo que dice Wadk, controlando el personaje con el mouse casi nunca se va a mover el personaje en esas direcciones.

Lo mejor en ese caso es usar point_direction para determinar la dirección en grados a la que se va a mover el personaje en cada STEP del move_step_towards y colocar esa dirección en el image_angle.
Título: Re:como defino los sprites de movimiento si uso el mouse para controlarlo? [AUN NO RESUELTO]
Publicado por: wrnr en Abril 29, 2013, 01:14:41 AM
gracias wadk!! eso si me sirvio! n.n