Febrero 25, 2014, 09:13:35 PM Ultima modificación: Febrero 26, 2014, 12:31:22 AM por KevCL
Muy buenas, me gustaria saber como andar de cuadrado en cuadrado tipo pokemon, o ese juego un poco cutre lllamado TIBIA me parece.
Reedito: Es para la version GameMakerStudio Profesional.

Compañero debes poner para que version del Game Maker es la pregunta para que podamos contestarte o si no ti tema sera bloqueado.
The next best thing to knowing something,
is knowing where to find it.

Tienes que alinear al personaje a una rejilla (Align to Grid) y hacer que se mueva una cantidad de píxeles prefijados en un evento de Keyboard.

¿Estás haciéndolo en GML o con Drag and Drop?

Es con drag and drop, Estoy con varios tutoriales de GML para ir mejorando poco a poco.

amigo , para que no te borren el tema debes poner el icono de la version en el titulo, donde dice icono del mensaje

Cita de: ivn_eze en Febrero 25, 2014, 11:52:54 PM
amigo , para que no te borren el tema debes poner el icono de la version en el titulo, donde dice icono del mensaje

De acuerdo Gracias. Poco a poco se aprende de todo :D

Podrías tener una variable hMove y vMove a 0, y pones en step:

[gml]if (keyboard_check(vk_right) and hMove == 0) {
   hMove = 5;
} else if (keyboard_check(vk_left) and hMove == 0) {
   hMove = -5;
} if (keyboard_check(vk_up) and vMove == 0) {
   vMove = -5;
} if (keyboard_check(vk_down) and vMove == 0) {
   vMove = 5;
}

if (hMove > 0) {
   x += 1; hMove -= 1;
} else if (hMove < 0) {
   x -= 1; hMove += 1;
} if (vMove > 0) {
   y += 1; vMove -= 1;
} else if (vMove < 0) {
   y -= 1; vMove += 1;
}[/gml]

para aumentar la velocidad de movimiento suma/resta más en vez de 1 hasta que quede bien :D

#7 Febrero 26, 2014, 01:22:30 AM Ultima modificación: Febrero 26, 2014, 01:45:11 AM por KevCL
Cita de: DarkKRuleR en Febrero 26, 2014, 12:41:49 AM
Podrías tener una variable hMove y vMove a 0, y pones en step:

[gml]if (keyboard_check(vk_right) and hMove == 0) {
   hMove = 5;
} else if (keyboard_check(vk_left) and hMove == 0) {
   hMove = -5;
} if (keyboard_check(vk_up) and vMove == 0) {
   vMove = -5;
} if (keyboard_check(vk_down) and vMove == 0) {
   vMove = 5;
}

if (hMove > 0) {
   x += 1; hMove -= 1;
} else if (hMove < 0) {
   x -= 1; hMove += 1;
} if (vMove > 0) {
   y += 1; vMove -= 1;
} else if (vMove < 0) {
   y -= 1; vMove += 1;
}[/gml]

para aumentar la velocidad de movimiento suma/resta más en vez de 1 hasta que quede bien :D

Ese script lo insertaria en el objeto del personaje en el evento step ? o no se donde insertarlo perdone mi ignorancia pero es que llevo mucho tiempo buscando y a mayoria esta en ingles lo siento por ser tonto y pesado.

P.D: Ya ayudaré yo a gente como yo en un futuro :D

Sí, insértalo en step, como habrás comprobado. Ahí emulas, POR CODIGO, los eventos de "mantener tecla pulsada", siendo más fácil y compacto, pudiendolo tener todo junto en un código y no en 4 eventos diferentes. Recuerda inicializar las variables en el evento create:

[gml]hMove = 0;
vMove = 0;[/gml]

#9 Febrero 27, 2014, 02:11:45 AM Ultima modificación: Febrero 27, 2014, 02:17:03 AM por KevCL
Cita de: DarkKRuleR en Febrero 26, 2014, 09:08:27 PM
Sí, insértalo en step, como habrás comprobado. Ahí emulas, POR CODIGO, los eventos de "mantener tecla pulsada", siendo más fácil y compacto, pudiendolo tener todo junto en un código y no en 4 eventos diferentes. Recuerda inicializar las variables en el evento create:

[gml]hMove = 0;
vMove = 0;[/gml]
Eres un crack muchas gracias, como hago que cambie de sprite al pulsar la tecla, lo hago con scripts? Tambien encuentro una falta a esto, si pulso dos direcciones a la vez me hace una diagonal, como podria solucionar eso, solo quiero que ande horizontal y vertical, y si es en diagonal que solo sea de un cuadrado a otro, con esto quiero decir que si pulso las teclas rapido puedo hacer circulos rapidos y si hace diagonales me gustaria que fuese de un cuadro a otro. Se me ha olvidado decirte gracias?? La verdad que si pero estoy muy agradecido por que me ayudes. sal2s

Cita de: KevCL en Febrero 27, 2014, 02:11:45 AM
Cita de: DarkKRuleR en Febrero 26, 2014, 09:08:27 PM
Sí, insértalo en step, como habrás comprobado. Ahí emulas, POR CODIGO, los eventos de "mantener tecla pulsada", siendo más fácil y compacto, pudiendolo tener todo junto en un código y no en 4 eventos diferentes. Recuerda inicializar las variables en el evento create:

[gml]hMove = 0;
vMove = 0;[/gml]
Eres un crack muchas gracias, como hago que cambie de sprite al pulsar la tecla, lo hago con scripts? Tambien encuentro una falta a esto, si pulso dos direcciones a la vez me hace una diagonal, como podria solucionar eso, solo quiero que ande horizontal y vertical, y si es en diagonal que solo sea de un cuadrado a otro, con esto quiero decir que si pulso las teclas rapido puedo hacer circulos rapidos y si hace diagonales me gustaria que fuese de un cuadro a otro. Se me ha olvidado decirte gracias?? La verdad que si pero estoy muy agradecido por que me ayudes. sal2s

para cambiar la imagen que tiene el jugador por ejemplo cuando se empieza a mover, yo por ejemplo aria que mi personaje se moviera a la derecha con la flecha derecha... ago el evento correspondiente mediand D&D (o mediante GML en step) independiente de como lo agas tienes que agregar el siguiente codigo "imagen_index=moviéndose_derecha"  con imagen index puedes cambiar el sprite de un objeto pero tambien puedes hacerlo con D&D

Cita de: 7sixerCF en Febrero 27, 2014, 03:32:40 PM
Cita de: KevCL en Febrero 27, 2014, 02:11:45 AM
Cita de: DarkKRuleR en Febrero 26, 2014, 09:08:27 PM
Sí, insértalo en step, como habrás comprobado. Ahí emulas, POR CODIGO, los eventos de "mantener tecla pulsada", siendo más fácil y compacto, pudiendolo tener todo junto en un código y no en 4 eventos diferentes. Recuerda inicializar las variables en el evento create:

[gml]hMove = 0;
vMove = 0;[/gml]
Eres un crack muchas gracias, como hago que cambie de sprite al pulsar la tecla, lo hago con scripts? Tambien encuentro una falta a esto, si pulso dos direcciones a la vez me hace una diagonal, como podria solucionar eso, solo quiero que ande horizontal y vertical, y si es en diagonal que solo sea de un cuadrado a otro, con esto quiero decir que si pulso las teclas rapido puedo hacer circulos rapidos y si hace diagonales me gustaria que fuese de un cuadro a otro. Se me ha olvidado decirte gracias?? La verdad que si pero estoy muy agradecido por que me ayudes. sal2s

para cambiar la imagen que tiene el jugador por ejemplo cuando se empieza a mover, yo por ejemplo aria que mi personaje se moviera a la derecha con la flecha derecha... ago el evento correspondiente mediand D&D (o mediante GML en step) independiente de como lo agas tienes que agregar el siguiente codigo "imagen_index=moviéndose_derecha"  con imagen index puedes cambiar el sprite de un objeto pero tambien puedes hacerlo con D&D

Muy buenas me puedes decir a que se refiere esto ? "imagen_index=moviéndose_derecha" ¿En moviendose_derecha es el nombre al sprite que quiero que cambie ? yo por ejemplo tengo 8 sprites, 4 quietos y 4 cuando están en  movimiento a cada dirección que puede, arriba, abajo, a la derecha y a la izquierda. Como puedo hacer que cambie para cada direccion el sprite correspondiente.