Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: NdS10 en Diciembre 13, 2009, 08:04:52 PM

Título: Caminar Diagonalmente
Publicado por: NdS10 en Diciembre 13, 2009, 08:04:52 PM
Bueni mi pregunta es como mi personaje puede caminar diagonalmente, yo ya tengo los sprites de cuando camina en todas sus direcciones.

Salu2
Título: Re: Caminar Diagonalmente
Publicado por: Alfonsos1 en Diciembre 13, 2009, 08:13:36 PM
no se si estes usando las variables speed y direction, pero estas variables representan la velocidad(speed) y direccion (direction) de una instancia.

speed = 1 significa que la instancia se mueve 1 pixel en la direccion que indique su variable direction
direction = 0 significa direccion a la derecha
direction = 90 significa direccion a arriba
direction = 180 significa direccion a la izquierda
direction = 270 significa direccion a abajo

si quieres que se mueva en direccion diagonal solo pon direction 45 o 135 o 225 o 315
Título: Re: Caminar Diagonalmente
Publicado por: deathmetal en Diciembre 13, 2009, 10:01:19 PM
o puedes poner vspeed=5; hspeed=5

asi caminaria diagonalmente

o

x+=5;y+=5

saludos
Título: Re: Caminar Diagonalmente
Publicado por: NdS10 en Diciembre 13, 2009, 10:58:16 PM
Realmente no entendi nada de lo que escribieron XD.
Título: Re: Caminar Diagonalmente
Publicado por: bonachiu en Diciembre 13, 2009, 11:01:56 PM
En 2D nos basamos en dos ejes, el X y el Y, para movernos horizontalmente usamos el eje X, un movimiento hacia la izquierda supondria restarnos algunos pixeles en nuestro eje X, por ejemplo si queremos avanzar 5 pixeles (la tipica distancia en casi todos los juegos para un movimiento normal de cada step) hacemos uso del codigo x-=5; en cambio si es para la derecha x+=5

Con el eje Y restamos para ir hacia arriba y sumamos para ir hacia abajo, de ahi a que si queremos un movimiento diagonal (imaginemos para la direccion 45?) deberiamos hacer x+=5;y-=5;  ;)
Título: Re: Caminar Diagonalmente
Publicado por: Alfonsos1 en Diciembre 14, 2009, 12:00:40 AM
CitarRealmente no entendi nada de lo que escribieron

deverias espesificar como haces para mover el personaje, asi seria mas fasil responder.
osea que funciones usas ya sea GML o D&D.

prueva poner en el evento step  una "pieza de codigo" que diga lo que escribio deathmetal:


x+=5;
y+=5;


hara que se mueva en diagonal asia abajo a la derecha
Título: Re: Caminar Diagonalmente
Publicado por: deathmetal en Diciembre 14, 2009, 05:27:53 AM
si no entendiste nada es porque no usas gml...


supongo yo, si es el caso, deberias haberlo dicho, solo pon tu cuadrito con las flechas rojas y marca la casilla en diagonal, en cambio, si usas gml.. sabras que hacer con los codigos proporcionados anteriormente


;)
Título: Re: Caminar Diagonalmente
Publicado por: NdS10 en Diciembre 14, 2009, 06:14:05 PM
No men, ya no utilizo tanto eso, me parece que llena mucho, yo utilize lo que dijiste:
Solo que me toco a?adir mas:

//Movimientos Diagonales
//Diagonal Inferior Derecha
if keyboard_check(vk_right) and keyboard_check(vk_down)
{
vspeed=4; hspeed=4
}
//Diagonal Inferior Izquierda
if keyboard_check(vk_left) and keyboard_check(vk_down)
{
vspeed=4; hspeed=-4
}
//Diagonal Superior Derecha
if keyboard_check(vk_right) and keyboard_check(vk_up)
{
vspeed=-4; hspeed=4
}
//Diagonal Superior Izquierda
if keyboard_check(vk_left) and keyboard_check(vk_up)
{
vspeed=-4; hspeed=-4
}


Aunque tu escribiste con 5 yo le cambie a 4, por que la velocidad normal de mi personaje es 4.
Ya no soy tan novato XD.
Aunque como no llevo tanto tiempo no se que significa eso de GML y D&D o lo que sea. XD
Si quieren me pueden decir que significa eso.