Game Maker Language: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrescoBot (discussione | contributi)
m Bot: "ed" come abbreviazione e non come congiunzione
la voce deve essere rivista completamente, nella forma e nella sostanza
Riga 1:
{{F|informatica|settembre 2017}}
{{tmp|linguaggio di programmazione}}
'''Game Maker Language''' ('''GML''') è un [[linguaggio di scripting]] sviluppato per la creazione di videogiochi con [[Game Maker]]. Il GML possiede una sintassi che ricorda molto quella del [[C (linguaggio)|C]] o del [[JavaScript]] e {{cn|per questa sua caratteristica esso viene insegnato in numerose scuole come "trampolino" per lo studio di altri linguaggi.}}
 
È stato creato da [[Mark Overmars]] inizialmente per aiutare a completare il sistema di [[drag and drop]] del suo programma. Da quando [[YoYoGames]] ha acquistato i diritti delsul programmasoftware, il GML è considerato l'unico mezzo di programmazione in [[Game Maker]].
 
==Oggetti==
Riga 25 ⟶ 26:
* '''temporanee''': a ogni nome univoco ne possono corrispondere molteplici: una per script o piece of code (ogni evento può avere uno o più "piece of code") dove è posizionata. Questo tipo di variabili è da considerarsi completamente privato (a differenza di delle variabili di istanza), ovvero uno script o piece of code che generano una variabile temporanea hanno accesso unico a quella variabile (la quale comunque verrà rimossa alla fine del "piece of code" in cui era dichiarata).
 
In game maker language esistono anche variabili dette built-in (sono più di 150). A differenza delle normali variabili, in cui nome èe logica di funzionamento vengono decisi dal programmatore, queste sono variabili prestabilite dal creatore del linguaggio: è necessario leggereleggerne l'utilizzolo unaspecifico per unautilizzo sul manuale. Alcune di esse (marchiateevidenziate nel manuale con un asterisco) sono dette "variabili built-in di sola lettura", da non confondere con le costanti.
 
===Dichiarazione e assegnazione di dato a una variabile===
InCome questoaccade linguaggioin molti linguaggi di scripting, anche in realtà,GML nonè esisteprevista una dichiarazione nelimplicita qualedelle sivariabili, definiscononon qualesarà tipiquindi dinecessario datoindicare sitipo andràe dimensione della variabile a metterelivello nelledi variabili,definizione semplicementedella stessa, quando si vuoleha crearela necessità di un certo tipo di variabile si effettuadeovrà effettuarne direttamente l'inizializzazione. Fanno eccezione le variabili dichiarateglobali identificate con le parola chiave ''globalvar'' e ''var'', lela quali hanno quindi unaloro dichiarazione (marappresenta anchequindi insolo questol'intenzione casodi nonassegnare verràuno definito''scope'' qualealla tipovariabile disenza daticomunque sidover verràindicarne ail inseriretipo ine la esse)dimensione.
 
L'[[assegnazione]] di un dato avviene nel seguente modo:
Riga 34 ⟶ 35:
nome_variabile = dato_che_vuoi;
</source>
È chiaro che prima di accedere a una variabile bisogna almeno una volta fare un'assegnazione (inche questoneiniziali casoil detta inizializzazione, intesa come inserimento dei valori iniziali)valore.
 
Da notare che "dato_che_vuoi" oltre che essere un semplice dato, può anche essere espressione che coinvolge sia variabili, sia valori (stringhe, numeri o booleani), sia function o script, il tutto combinato insieme mediante operatori (matematici, di stringa e booleani) a seconda di ciò che si vuole fare. NB: l'ordine di computazione della espressione e da sinistra a destra, per cambiare tale ordine si possono usare delle [[parentesi tonde]].
====Assegnazione relativa====
Una variabile può anche fare un calcolo su se stessa, (a patto di essere già stata inizializzata). Un semplice esempio è dato dal contare: quando un software fa comparire a schermo un conto alla rovescia non fa altro che eseguire (ciclicamente) questo comando:
<source lang=gml>
tempo = tempo - 1