Noticias

¡Ayuda a la Comunidad GM, haz una donación!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Duda: puntero  (Leído 506 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado shadowsFTW

  • Habitual
  • *
  • Puntos: 21
  • Mensajes: 11
  • Sexo: Masculino
    • Ver Perfil
en: Septiembre 09, 2014, 12:27:25 am
veran, quiero saber si se puede cambiar el sprite de un objeto segun la direccion del mouse, no rotar el mismo sprite en la direccion del puntero si no cambiar los sprites ejemplo (+x, -y = spr_derecha_arriba) y si saben como ?

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado venus

  • Okupa
  • *
  • Puntos: 635
  • Mensajes: 507
  • Sexo: Masculino
    • Ver Perfil
Respuesta #1 en: Septiembre 09, 2014, 01:15:53 am
Pues como no seas mas exacto... Con la información que me das se me ocurre que podrías mediante mouse_x y mouse_y localizar la posición en la que el ratón se halla y luego con image_index cambiar el sprite.

Ahora si.
 


Desconectado penumbra

Respuesta #2 en: Septiembre 09, 2014, 01:47:04 am
CREATE
prevx = mouse_x
dir_hor = 0

STEP
(if prev_x != mouse_x)
{
     dir_hor = sign(prev_x - mouse_x)
     prev_x = mouse_x
}

if (dir_hor >= 1 )
     sprite_index = spr_dir_izquierda
else
     sprite_index = spr_dir_derecha

Otra manera de hacerlo, por ejemplo para cambiar el sprite entre 8 direcciones tipo RPG
CREATE
dir_char = 0

STEP
dir_char = point_direction(x, y, mouse_x, mouse_y) / 360
image_index = image_number * dir_char

Para que funcione este ejemplo, el sprite debe contener 8 sumbimágenes (del 0 al 7) ordenadas: 0 = derecha, 1 = 45°, 2 = arriba, 3 = 135°, 4 = izquierda, etc
« última modificación: Septiembre 09, 2014, 02:03:55 am por penumbra »

 


Desconectado shadowsFTW

  • Habitual
  • *
  • Puntos: 21
  • Mensajes: 11
  • Sexo: Masculino
    • Ver Perfil
Respuesta #3 en: Septiembre 09, 2014, 04:49:41 am
lo intente pero me sale error al querer iniciar el juego :/
me echas una mano con mi proyecto?

 


Desconectado Xizotono

  • Adicto
  • *
  • Puntos: 391
  • Mensajes: 363
    • Ver Perfil
Respuesta #4 en: Septiembre 09, 2014, 07:23:16 am
Si no posteas el error es dificil ayudarte. Como ya dijeron debes usar las coordenadas del mouse (dibujandolo es mas sencillo verlo). Ejemplo:
if mouse_x > obj_jugador.x and obj_mouse.y < obj_jugador.x { sprite_index = spr_arribaderecha }
//Recuerda que + es derecha o abajo, - es izquierda o arriba segun el eje.


 


Desconectado shadowsFTW

  • Habitual
  • *
  • Puntos: 21
  • Mensajes: 11
  • Sexo: Masculino
    • Ver Perfil
Respuesta #5 en: Septiembre 09, 2014, 09:10:34 am
lo intentare, si no resulta les puedo pasar mi proyecto y ayudarme en ese problema? esque, llevo toda la tarde intentando, e visitado varias paginas, videos, foros y asi y la mayoria solo me dice como girar un sprite segun la direccion del mouse, pero lo que yo quiero es cambiar los esprites segun la direccion :/