Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: master_black en Mayo 13, 2015, 07:22:51 PM

Título: Como usar el "true""false"
Publicado por: master_black en Mayo 13, 2015, 07:22:51 PM
Hola amigos llevo poco tiempo en esto pero me gustaria que me aclararan como se utiliza el Arreglo true y false

he visto que alguno utilizan esto pero no entiendo   :'( :'( :'(

un ejemplo



//Create
mover=false

//Stepp

if mover=true
{
hspeed=0
}

pero no se adonde poner esto para que se ejecute.

Ayuda por favor si alguien se toma el tiempo para explicarlo bien se lo AGRADECERIA ;D ;D

Gracias.









Título: Re:Como usar el "true""false"
Publicado por: penumbra en Mayo 13, 2015, 07:32:05 PM
Cita de: master_black en Mayo 13, 2015, 07:22:51 PM
pero no se adonde poner esto para que se ejecute.
Eso va en el evento STEP, porque es un evento que se ejecuta recurrentemente desde que se crea el objeto hasta que se destruye o se termina el juego. Como se ejecuta constantemente 30 veces por segundo (o 60), generalmente es un buen evento para "vigilar" cambios, probar condiciones y tomar decisiones.
[gml]
if mover=true
{
hspeed=0
}[/gml]
Es raro este código, no es que estrictamente esté mal, pero la lógica no es muy común. Por lo regular, cuando una bandera mover es verdadera, hspeed debería ser distinta de cero, pero en este caso es igual a 0. Independientemente de esto, para que la condición que pusiste se ejecute, aparte del código de create y de step que tienes, se necesita cambiar el valor de la variable mover de false a true en algún lugar (step u otro evento)
Título: Re:Como usar el "true""false"
Publicado por: master_black en Mayo 13, 2015, 07:38:56 PM
Gracias penumbra lo puse sin pensar  :'( el hspeed)

me puedes hacer un ejemplo de como usar eso paso a paso y como deberia de ir.

Gracias
Título: Re:Como usar el "true""false"
Publicado por: penumbra en Mayo 13, 2015, 07:54:28 PM
Podría, pero se necesita más información. Como mencionas que pusiste el código sin pensar, no se sabe si quieres que la instancia inicie moviéndose o que inicie quieta y luego se mueva y si lo segundo es cierto, qué cosa o evento debe pasar para que comience a moverse
Título: Re:Como usar el "true""false"
Publicado por: master_black en Mayo 13, 2015, 08:33:09 PM
Bueno me gustaria hacer esto

if (mouse_check_button_pressed(mb_left))
{
hspeed = 5; //salta
}

me gustaria desabilitar este salto  por 5 segundo con true y false

en la alarma habilitar el true para que vuelva toda a funcionar de nuevo.

Gracias
Título: Re:Como usar el "true""false"
Publicado por: knd144 en Mayo 13, 2015, 09:50:00 PM
Los valores TRUE y FALSE son valores lógicos.
Verás, una variable puede tener (en principio) 3 tipos de valores:
Numéricos, o sea números  :-[ como puede ser: 1, 2, 3, 4.36, -14.12...
Valor del tipo texto, letras y cadenas de letras: "h", "Hola" "ola ke ase"...
Y valores lógicos (En informática se llaman "booleados") que tiene sólo los valores TRUE y FALSE (Verdadero y False).

Usas el tipo de valor según las necesidades que tengas (y la lógica que uses así la forma en la que te acomodas a la hora de programar).

Si lo que quieres "desactivar" una variable justo después de ejecutar una acción, escribes:

variable=false;

En este caso:
Citarhspeed=xxxx; //salta
variable_salto=false;
Título: Re:Como usar el "true""false"
Publicado por: penumbra en Mayo 13, 2015, 11:23:05 PM
El makero knd144 ya te explicó sobre los valores lógicos, sólo me permito hacer una pequeña corrección, el término correcto es "booleano" por el matemático George Bool.
http://es.wikipedia.org/wiki/Tipo_de_dato_l%C3%B3gico

Sobre el código para desactivar, te pongo un ejemplo, pero aun tengo dudas con el código que escribiste, hspeed = 5 no hace que el jugador salte, sino que avance hacia la derecha (a menos que el juego esté girado -90 grados, entonces sí sería un salto)

En fin, que quieres deshabilitar un salto, pues crea una variable "saltar"

CREATE
[gml]
saltar = true
[/gml]
STEP
[gml]
if (saltar == true) and (mouse_check_button_pressed(mb_left))
{
      vspeed = 5;          //saltar o avanzar hacia arriba
      alarm[0] = room_speed * 5
      saltar = false
}
[/gml]
ALARM[0]
[gml]
saltar = true
[/gml]

Sólo me enfoqué en la activación/desactivación mediante true/false, que es el tema original del post. El código no está completo, le faltan cosas como verificar si se está sobre el suelo, ajustar la gravedad, etc.