Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: masalaja en Marzo 22, 2020, 08:17:28 PM

Título: Como Parar A Mi Personaje
Publicado por: masalaja en Marzo 22, 2020, 08:17:28 PM
saludos a todos, estoy aun en mi proyecto y claro... ahi momentos en los que me gustaria que mi personaje quedase quieto sin poder usar siquiera el teclado por un cierto tiempo, si alguien sabe como se hace esto me diga por favor.

          saludos
Título: Re:Como Parar A Mi Personaje
Publicado por: dixon en Marzo 23, 2020, 03:25:37 AM
Hola,

Si lo que quieres es hacer un pause.

El pause puede ser una variable que vale uno o cero. Si vale uno entonces estamos en pause y no se puede usar el teclado y no existe la gravedad. Pero si vale cero (no hay pause, entonces puedes usar el teclado, y vuelve la gravedad del personaje. Aqui tienes un ejemplo básico:

En el evento create creamos las variables de movimiento y la del pause

[gml]//En evento create
pause=0
Caminar_derecha=0
Caminar_izquierda=0[/gml]

Luego en el evento stepo o draw, creamos la función que nos permite que el pause se active o desactive( que valga uno o cero)
[gml]///presionando la tecla Enter para el pause (La tecla 13 es la tecla Enter)
if keyboard_check(13)
{
// si el pause es cero se volverá uno y si es uno se volverá cero
pause=(pause=0)
}[/gml]

Luego le decimos al programa que solo podrán presionarse las teclas si el pause es cero
[gml]if pause=0
{
///Todas las variables para el teclado, si el pause es cero podrás usar el teclado
Caminar_derecha=keyboar_check(vk_right)
Camianr_izquierda=keyboard_check(vk_lefth)
}[/gml]

Luego le decimos que el personaje se moverá solo el pause es cero
[gml]//ejemplo de movimiento x, si el pause es cero entonces puedes mover al personaje
x+=(Caminar_derecha-Caminar_izquierda)*5[/gml]

//luego decimos que la gravedad tendrá efecto solo si el pause es cero
[gml]if pause=0
{
//EJEMPLO DE GRAVEDAD SIMPLE
y=5
while(!place_empty(x,y+2))y-=1
}[/gml]