Tutorial 4: Variables.Bienvenidos al tutorial que tratará de explicar qué es una variable lo mejor posible y para qué sirven.Hay dos cosas que haremos en este tutorial, la primera será aprender qué es una variable, lo más explicativo posible:La definición de una variable puede ser confusa, pero si tenemos en cuenta que es muy parecida a una "carpeta", será más fácil saberlo.
Las carpetas en nuestras PCs están representadas por un icono y al darle doble click podemos entrar y ver su contenido, también podemos cambiarlo; una variable en lugar de estar representada por un icono, está representada por su nombre y guarda datos dentro y estos pueden ser modificados.
En resumen, la variable es un contenedor representado por un nombre específico que contiene valores modificables dentro.
Espero que más o menos se haya entendido, pero si no, aquí le dejo las palabras del buen google para definirlo:
En programación, una variable está formada por un espacio en el sistema de almacenaje (memoria principal de un ordenador) y un nombre simbólico (un identificador) que está asociado a dicho espacio. Ese espacio contiene una cantidad de información conocida o desconocida, es decir un valor.Gracias google, todos te amamos.
Siguiendo con el tutorial, ya que sabemos la definición de Variable, ahora vamos a aprender cómo "declararla" que sería "hacerla existir", para declarar una variable es recomendable hacerlo dentro de un bloque de código en el evento
, ya explicaré esto bien más adelante.
Para declarar una variable en código, simplemente hay que poner el nombre y darle un valor, este nombre puede ser cualquiera en mi caso elegí la palabra "hola" (las mayúsculas influyen mucho en las variables, puede existir una variable "hola" y otra "Hola" totalmente diferentes):
- Código:
hola = 0
Recuerden que tiene que ser en el evento create, creen ese nuevo evento, en la seción 4 de drag & drop vallan a "control" y arrastren la hoja hasta eventos, pondré una imagen que les refrescará la memoria:
la imagen la utilicé en el tutorial 1, pero ustedes harán eso en el evento create repito, es importante ya que en ese evento se ejecutará solo una vez cuando el objeto sea creado en la room mientras que si lo ponemos en el evento step se ejecutará todo el tiempo dando como resultado que la variable se pondrá en 0 infinitamente, es decir, no podremos cambiarle el valor por que constantemente estará poniéndose en 0.
Bien, para este paso ya tenemos que tener la variable creada, elijan el nombre que ustedes quieran, ya saben que mi variable es "hola" y que su valor inicial es "0"
Bien!!, en el evento step vamos a hacer un código totalmente nuevo y necesitaremos la hoja en blanco, para cambiar a modo comentario y que nuestro código anterior se anule, simplemente colocamos "/*" y todo lo que esté después de ese símbolo quedará en modo comentario:
Obviamente esto es para no tener que borrar los códigos que tenemos y que nos puedan servir más adelante, bien, lo siguiente sería implementar una función que utilice nuestra variable para algo, utilizaremos nuestra variable como condición esta vez:
if hola < 5 and keyboard_check_released(ord("D")) {hola += 1}
if hola >= 5 and keyboard_check_released(ord("D")) {x += 4}
La primer función dice que "sí" "hola" "es menor" a "5" y suelta la tecla D, suma 1 a nuestra variable (hola tendría un valor de 1)
La segunda función dice que "sí" "hola" "es mayor o igual" a "5" y suelta la tecla D, nuestro personaje se moverá 4 píxeles a la derecha.
Lo que significa que hola tiene que tener un valor de 5 o mayor (6,7,8,etc) para movernos, pero si tenemos menor que 5 la primer función se encargará de ir sumándole de a 1 el valor a nuestra variable, por lo que llegará en algún momento a 5 y nos podremos mover a saltitos cada vez que soltemos la letra D.
Las variables son mucho más importantes de lo que parece a simple vista, una variable puede ser la suma de otras dos variables o más, pueden contener en Game Maker, información de nuestra vida, nuestra puntuación, nuestra posición en la room, entre otras muchas cosas más, a continuación mostraré un código de suma entre variables y la haremos aparecer con un mensajito simple en la pantalla:
- Código:
Evento Create:
uno = 1
dos = 2
tres = 3
suma = uno + dos + tres
show_message(string(suma))
Tomen nota:
(1) Acerca del código "show_message()":
Entre paréntesis colocamos entre comillas las palabras que queramos que nos salga en el mensaje EJ: "show_message("hola gente")", como verán en este caso tuvimos que transformar "suma" en un "string" ya que es un valor y no una cadena de texto, para eso dentro de los paréntesis de show_message uitlizamos el código "string()" que convierte valores en cadena de texto pudiendo así, mostrarnos el número deseado, string tengan en cuenta que se refiere al texto.
(2) A la hora de ejecutar un bloque de código, tener en cuenta que lo que esté más arriba se ejecutará primero, lo que esté en la linea 1 se ejecutará antes que nada dentro del bloque de código, por lo que si cometen el error de posicionar mal algo pueden ocasionar errores muy comúnmente:
la variable "tres" se ejecuta después de que pedí que "suma" tome su valor para sumar, lo que significa que "tres" aun no existe y daría como resultado un error, esto puede ser a simple vista algo bobo o que nadie cometería ese error, pero créanme que a cuanta más complejidad, más posibilidades de error por mal colocación hay.
Bien, para ir terminando déjenme comentarles que no solo se puede declarar una variable de la forma mencionada antes, sino que también se pueden declarar variables especiales, como las globales y locales:
"variable = valor" es la forma normal de declarar una variable, esta variable se podrá llamar desde cualquier función dentro del objeto en la que fue declarada, recuerden que la linea 1 del evento create será la primer linea que se ejecutará, por lo que es una buena posición para declarar variable que serán utilizadas mucho dentro de otros eventos.
"var variable = valor" estas son variables locales que solo servirán dentro de la página de códigos donde se sitúen, es decir, si se intenta llamar una de estas variables en otra página de códigos no será reconocida y dará error como resultado.
"global.variable = valor" las variables globales pueden ser llamadas en cualquier momento y en cualquier lugar, es decir, si ya ha sido declarada, puede llamarse desde cualquier objeto y cualquier hoja de código pero siempre respetando el "global." detrás del nombre.
Por último, las variables "predeterminadas" se verán de color rojo en game maker, esto significa que es una variable implementada ya por defecto en GML y que su valor se puede cambiar al ser una variable, por otro lado, las que tienen letras amarillas son funciones.
Bueno, espero que hayan entendido todo
un saludo.
- Fin del tutorial -
Ayer a las 20:16 por UFHDE
» Experimento Scaver [ZERG]
Ayer a las 16:40 por Davitroon
» El Iceberg Definitivo del Foro [PROYECTO COMUNITARIO]
Miér 20 Nov 2024, 21:20 por Mathaloz
» Experimento Grifo Fantasmal [SINDROME DEL 23]
Miér 20 Nov 2024, 18:10 por Quincho96
» Presentacion y Preguntas
Miér 20 Nov 2024, 11:28 por Quincho96
» BlueXYZ
Dom 17 Nov 2024, 00:47 por Max
» Rise of Cults 2 Bot (Beta abierta)
Dom 17 Nov 2024, 00:18 por XleandroX
» Hola
Sáb 16 Nov 2024, 23:35 por FlairDreamer
» Los experimentos del Dr. Breincrox, parte 2
Sáb 16 Nov 2024, 23:23 por FlairDreamer
» Aldeano Mini Carro [O5] [T] [♫]
Vie 15 Nov 2024, 18:38 por Quincho96
» [set]: Criaturas de Maenard
Vie 15 Nov 2024, 18:35 por Quincho96
» R3-XP10R3 [AI3] [♫]
Vie 15 Nov 2024, 16:17 por Quincho96
» Experimento Scarver-T [Virus-T]
Jue 14 Nov 2024, 14:27 por Quincho96
» Caballo [3lite vs. Xhaps] [2]
Jue 14 Nov 2024, 11:50 por Sirillium64
» Esidisi's Tower [O4] [E]
Jue 14 Nov 2024, 11:47 por Sirillium64
» ¿Que música están escuchando?
Jue 14 Nov 2024, 11:44 por FlairDreamer
» Problema con los pies de DI y otros mods
Miér 13 Nov 2024, 20:10 por FlairDreamer
» Las partes robóticas en mi spore no funcionan bien
Miér 13 Nov 2024, 20:08 por FlairDreamer
» ¿Cómo recuperar una criatura borrada?
Miér 13 Nov 2024, 19:22 por FlairDreamer
» Una decada despues!
Mar 12 Nov 2024, 22:31 por Endy
» Prototipo Zangief [O3]
Mar 12 Nov 2024, 19:09 por Quincho96
» El traveler barato de Owari [TA] [Mx3]
Mar 12 Nov 2024, 16:12 por Quincho96
» Golem Guardian [DoT][21] (Golem)
Lun 11 Nov 2024, 16:14 por Quincho96