Anda di halaman 1dari 3

Game Maker Language

Game Maker Languaje (GML) es un lenguaje de programacin interpretado(aunque con el uso de YoYoCompiler puede ser compilado) desarrollado para usarse como complemento de la aplicacin de desarrollo de juegos
Game Maker. El lenguaje es utilizado en el programa para dar mayor potenciacin al desarrollo de juegos u otros
sistemas dentro de tal. El lenguaje fue codicado usando
el lenguaje Delphi.

DLL para Windows y .java para Android

Es un lenguaje de programacin muy exible, su sintaxis


es comparable con la de C++, aunque tambin se ve inuenciado por la sintaxis de otros lenguajes como Pascal.
La estructura general del cdigo GML puede tomar diferentes formas de sintaxis, ya que no se ve sujeta a una
sintaxis estricta como la de C. Es capaz de trabajar con
nmeros, cadenas de texto y dems de manera nativa.

variable=<valor>;

var xx,yy,ss;

1.2 Variables
GML no necesita de la declaracin compulsiva de variables para trabajarlas, es decir, basta con asignarle un valor
jo una vez en cualquier sitio. Por ejemplo:

En este caso, la variable ya est declarada y puede usarse


de forma general, aun as, GML tambin incluye un bloque var imitando las declaraciones de variables de otros
lenguajes, pudiendo declarar un sin nmero de variables
en el programa sin necesidad de asignarles un valor (si no
que este automticamente es 0). Por ejemplo:

Sintaxis general

Game Maker tambin trabaja con constantes, las cuales


El lenguaje GML a nivel de sintaxis es similar a C++, aun
se pueden asignar desde una funcin del programa (ms
as, este lenguaje constata de mucha exibilidad debido a
las que ya existen por ende).
sus diversas variaciones de sintaxis (las cuales son todas
Dentro del cdigo GML existen dos tipos de variables de
vlidas).
trabajo, las variables locales y variables globales. Las
Por ejemplo, al trabajar con operadores puede funcionar
variables locales trabajan nicamente dentro de un objeas:
to, es decir, no es existente fuera del objeto o bloque
g=g+1;
de cdigo(en caso de haber sido declaradas con var)
que la trabaje (lo cual permite usar el mismo nombre de
la variable en otro objeto). Por otro lado estn las variaPero en GML tambin es vlido de esta forma:
bles globales, las cuales usan el prejo global. antes del
g+=1;
nombre de la variable, por ejemplo:
global.variable=0;

Esta regla de operadores tambin se puede aplicar en /=,


-= y *=.

Las variables globales tienen uso en todo el programa,


El lenguaje GML adems, no obliga el uso reglamentario por lo cual solo puede existir una sola variable global con
del smbolo ";" al nal de cada lnea o funcin, lo cual le el mismo nombre, y su valor puede verse afectado desde
hace exible en el aspecto estricto de la sintaxis.
cualquier parmetro del programa/cdigo.

1.1

GML tambin puede manejar arrays de manera muy simple y muy similar a C++.

Funciones

Deben ser declaradas de la forma:

El lenguaje GML por entender ya tiene un gran nmero


de funciones y sistemas implementados dentro del mismo
programa en el que trabaja, es decir, no necesita de libreras externas como en otros lenguajes (C++ por ejemplo),
aun as, tambin cabe la posibilidad de poder usar libreras externas para potenciar ciertos campos del sistema.
Estas libreras debern estar en un formato u otro dependiendo de con que plataforma estemos trabajando, como

array[ndice1,ndice2];
Las arrays en Game Maker pueden ser de 1 o 2 dimensiones y pueden contener una mezcla de strings y de valores
reales, pero no otras arrays. Tambin existe un lmite en
los tamaos: Los ndices deben estar entre 0 y 32.000 y
no puede haber ms de 1.000.000 valores en una misma
1

array.
GML tambin cuenta con funciones utilizadas para crear
y editar seis estructuras de datos simples. Estas funciones
slo estn disponibles para los usuarios que tienen la versin Pro de Game Maker. Las estructuras de datos disponibles son Stacks, Queues, Listas, Mapas, Queues de
prioridad, y Grids.

SINTAXIS GENERAL

a una instancia signica que esa variable est unida a esa


instancia particular y que para ser llamada desde otra instancia debe usarse como prejo el nombre de la instancia
que contiene la variable. Ser local a un script signica que
la variable slo puede ser usada en ese script y que al terminar de procesarse ste, la variable expira. El trmino
local sin ms especicaciones, usualmente se reere a
local a una instancia.

Por defecto, una variable es local de una instancia pero


no local al script en el que es usada. Para hacer una variable accesible por todas las instancias (y scripts) puede ser
Por la simplicidad del GML, este slo tiene dos tipos de
denida usando el prejo global global.foo=bar; o declavariables. Cualquier variable puede llevar cualquier tipo
rada explcitamente globalvar foo,bar;. Usando la primede datos sin ningn tipo de declaracin.
ra forma, la variable debe siempre ser llamada usando el
prejo global.; la declaracin con globalvar no requiere
Strings Son cadenas de caracteres ASCII ( Uni- ningn prejo. Para hacer una variable local a un script
code y ANSI en caso de GM 8.1) que pueden te- se usa la palabra clave var: var foo,bar;.
ner cualquier longitud. Como GM preja el tamao de las strings como valores enteros de 4 by- Se puede acceder a una variable que es local a una instes, una string en realidad no puede tener ms de tancia desde otra instancia usando como prejo un iden4,294,967,296 caracteres, si se supera dicho nme- ticador de instancia instancia.variable. No hay forma de
ro, los caracteres son cortados desde el principio acceder a una variable local de un script desde otro, a
hasta que el nmero total de estos sea menor al l- menos que la variable se pase de script en script como
mite. Sin embargo, generalmente las strings son mu- argumento.
chsimo ms cortas.
Una instancia puede ejecutar cdigo en otra instancia
usando la sentencia with. Por ejemplo, la siguiente piety_string
za de cdigo, colocada en un evento de colisin, puede
ser usada para destruir a la instancia que colisiona con la
Boolean Son para distinguir un caracter de tipo true o tipo actual. Cuando se ejecuta un evento de colisin, Game
Maker automticamente crea la variable other, la cual
false, no almacena ningn valor
se reere a la instancia envuelta en la colisin.
1.2.1

Tipos

Valores Reales Son nmeros con signo de punto otante. Eso quiere decir que pueden ser nmeros positivos o negativos y que pueden tener parte decimal.
Desde la versin 6.1, GM permite la representacin
de valores hexadecimales como reales en el cdigo,
si se preceden del carcter $. En la versin 6, el manejo de valores reales tena un bug que provocaba
errores de precisin al trabajar con valores reales altos. El bug tambin existe en GM 7 y 8, pero fue
mitigado con ms precisin.
ty_real
Como GML no tiene valores booleanos, sentencias que
requieren valores booleanos (como if) evaluarn cualquier valor real mayor que 0.5 como verdadero y cualquier valor real menor o igual a 0.5 como falso. En GML
tambin existen las constantes por defecto true y false que
equivalen a 1 y 0 respectivamente, y pueden ser usadas
para hacer el cdigo ms legible.
1.2.2

Alcance

En GML, hay dos tipos de variables locales: locales a una


instancia, y locales a un script (o cualquier otra pieza de cdigo que tenga su propio contenedor). Ser local

with (other) {instance_destroy();}


Ntese que cuando una variable es local a un script, sta es
independiente de toda instancia. Por ejemplo, el siguiente
cdigo funcionara aunque la variable foo no est denida
en OtraInstancia.
var
foo;
foo="bar";
{show_message(foo);}

with

(OtraInstancia)

Origen del texto y las imgenes, colaboradores y licencias

2.1

Texto

Game Maker Language Fuente: https://es.wikipedia.org/wiki/Game_Maker_Language?oldid=89089558 Colaboradores: Tony Rotondas,


YurikBot, GermanX, CEM-bot, Thijs!bot, Flafus, Bakudan~eswiki, Barri, AlleborgoBot, 3coma14, SieBot, PaintBot, Ernestomc, BOTarate, Maxusgames, Luckas-bot, Ptbotgourou, Yuiop~eswiki, SuperBraulio13, Xqbot, JFRNwiki, PatruBOT, Mentibot, Luigi003, Kikones34,
MerlIwBot, Ralgisbot, Legobot, Dridly, Omar Akhazzan El Imrani y Annimos: 14

2.2

Imgenes

2.3

Licencia del contenido

Creative Commons Attribution-Share Alike 3.0

Anda mungkin juga menyukai