Buenas, hace bastante que tenía el GM en la PC y la verdad no tenía tiempo para usarlo y ponerme a desarrollar juegos.
Ya que tengo esta semana de vacaciones aprovechare para aprender a usar GML, púes, estuve leyendo varios tutoriales por ahí en la web, y estuve aprendiendo las estructuras del GML y ya las tengo bastante claras, ya que tengo experiencias anteriores de programación.
Bien, estuve intentando hacer el movimiento del jugador, y he hecho esto:
Citarif keyboard_check(ord("a"))
{
x-=1;
};
if keyboard_check(ord("d"))
{
x+=1;
};
Lo he puesto en un evento Step.
No sé si es el lugar correcto, pero para eso estoy aquí, para que más o menos me puedan ayudar y eso.
Bueno, mi problema actual es ese, cuando estoy en el juego y presiono A o D no pasa nada, mi jugador sigue en el mismo lugar.
¿Alguna idea de como solucionarlo? Desde ya muchísimas gracias.
Saludos a todos.
El error es simplemente que pusiste el - y el + antes del igual, cuando deben estar antes del valor (osea, en vez de x-=1 debe ir X=-1)
if keyboard_check(ord("a"))
{
x=-1;
};
if keyboard_check(ord("d"))
{
x=+1;
};
Cita de: ivn_eze en Marzo 28, 2015, 11:08:22 PM
El error es simplemente que pusiste el - y el + antes del igual, cuando deben estar antes del valor (osea, en vez de x-=1 debe ir X=-1)
if keyboard_check(ord("a"))
{
x=-1;
};
if keyboard_check(ord("d"))
{
x=+1;
};
Antes que nada, gracias por tu respuesta.
El problema persiste, cuando ingreso al juego e intentó moverme, no puedo.
seguro que no tiene mas codigos que ese como gravedad y create.
Sí, los tenía, los acabo de borrar y testear nuevamente, pero el problema persiste.
Cita de: ivn_eze en Marzo 28, 2015, 11:08:22 PM
El error es simplemente que pusiste el - y el + antes del igual, cuando deben estar antes del valor (osea, en vez de x-=1 debe ir X=-1)
Esa parte está bien. Si se usa
X=-1, eso haría que el objeto se trasladara un pixel a la izquierda del borde izquierdo de la habitación y de ahí ya no se movería.
Cita de: Alex_Wallace en Marzo 28, 2015, 11:10:56 PM
El problema persiste, cuando ingreso al juego e intentó moverme, no puedo.
Aunque el código X=-1 no es correcto, al presionar la tecla el jugador debió haberse cambiado de posición. Esto quiere decir que o no estás usando el evento STEP, o que hay algo que evita que se lea el teclado. Intenta esto, en STEP, pero antes borra cualquier otro código en ese evento.
[gml]
if keyboard_check(ord('A') )
{
x -= 3;
}
[/gml]
Después de una llave "}" no debería ir un punto y coma
Cita de: penumbra en Marzo 28, 2015, 11:28:50 PM
Cita de: ivn_eze en Marzo 28, 2015, 11:08:22 PM
El error es simplemente que pusiste el - y el + antes del igual, cuando deben estar antes del valor (osea, en vez de x-=1 debe ir X=-1)
Esa parte está bien. Si se usa X=-1m eso haría que el objeto se trasladara un pixel a la izquierda del borde izquierdo de la habitación.
Cita de: Alex_Wallace en Marzo 28, 2015, 11:10:56 PM
El problema persiste, cuando ingreso al juego e intentó moverme, no puedo.
Aunque el código X=-1 no es correcto, al presionar la tecla el jugador debió haberse cambiado de posición. Esto quiere decir que o no estás usando el evento STEP, o que hay algo que evita que se lea el teclado. Intenta esto, en STEP, pero antes borra cualquier otro código en ese evento.
[gml]
if keyboard_check(ord('A') )
{
x -= 3;
}
[/gml]
Después de una llave "}" no debería ir un punto y coma
Otro error muy común al comenzar en GMS, es que SE TE OLVIDA COLOCAR EL OBJETO JUGADOR EN LA HABITACIÓN. :D
Cierto, al pensar en los signos ignore el hecho de que el codigo erroneo no lo dejaba en el mismo lugar sino que lo dirigia a 1,1 :-[
Acabo de borrar los codes que tenía en Step, hice denuevo lo del movimiento y sigue sin moverse :/ Estoy me está poniendo de los nervios.
Cita de: Alex_Wallace en Marzo 28, 2015, 11:40:35 PM
Acabo de borrar los codes que tenía en Step, hice denuevo lo del movimiento y sigue sin moverse :/ Estoy me está poniendo de los nervios.
Podrías subir tu proyecto para revisarlo y evitar dar rodeos. ;)
Claro, aquí tienes.
¬¬
pero no seguiste estas instrucciones al pie de la letra:
[gml]
if keyboard_check(ord('A') )
{
x -= 3;
}
[/gml]
[/quote]
No hay que usar letras minúsculas en la función keyboard_check. cambiando a mayúsculas el personaje ya se mueve
Muchas gracias :D :D :D