Game Maker Language: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
-s non è più stub |
m Bot: carattere invisibile LTR e modifiche minori |
||
Riga 25:
* '''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 è logica di funzionamento
===Dichiarazione e assegnazione di dato a una variabile===
In questo linguaggio, in realtà, non esiste una dichiarazione nel quale si definiscono quale tipi di dato si andrà a mettere nelle variabili, semplicemente quando si vuole creare un certo tipo di variabile si effettua direttamente l'inizializzazione. Fanno eccezione le variabili dichiarate con globalvar e var, le quali hanno quindi una dichiarazione (ma anche in questo caso non verrà definito quale tipo di dati si verrà a inserire in esse).
L'
<source lang=gml>
nome_variabile = dato_che_vuoi;
Riga 51:
il GML è un linguaggio basato sugli eventi: ogni gruppo di istruzioni va posizionato in un evento (la scelta dell'evento dipende da "quando" si vuole che un determinato blocco entri in azione), cioè, in pratica, il programmatore deve specificare quando, ogni sequenza di istruzioni, deve entrare in funzione.
Ecco alcuni
* '''create_ev'''
Riga 136:
</source>
I Blocchi di istruzioni sono racchiusi tra parentesi graffe
esempio:
Riga 209:
dat_out = (instance_exists(obj_stella) == 3)
</source>
Analizzando la linea: quella funzione (per definizione) può restituire
==Eliminare ridondanza non necessaria==
Riga 239:
- se una istanza qualunque esegue un codice sull' oggetto parent (mediante la keyword "with") esso verrà eseguito su tutte le istanze di tutti gli oggetti figli
- se una funzione viene incaricata di fare un
==Array==
gli array (dall' inglese schieramento) sono paragonabili a degli insiemi di variabili, per esempio:
Riga 285:
===array tridimensionali===
gli array 3D non sono previsti dall' ide di questo linguaggio. È possibile comunque mediante un semplice calcolo matematico trasformare un array 3D in uno 2D. L' array 3D può essere visto come un parallelepipedo formato da tanti parallelepipedi più piccoli: in ognuno di essi c'è memorizzato un dato. Si tratta di "tagliare a fette" il parallelepipedo in tante fette sottili uno, e di metterli tutti adicenti, perdendo così una delle 3 dimensioni (un array che ha una certa "larghezza", "lunghezza", ma spessore 1
===liste e grid (data structure)===
Sono sostanzialmente degli array monodimensionali e bidimensionali.
|