Skripte, varijable i funkcije u GameMaker: Studio

GameMaker: Studio i IDE koji nam pruža, možemo brzo i jednostavno graditi video igre, što nam daje prijateljsko i jasno sučelje koje nam također pruža alate koji nam pomažu u razvoju igara.

Jedan od tih alata je GML ili GameMaker jezik, koji znatno proširuje funkcionalnost našeg okruženja i omogućuje nam da putem skripti napišemo vlastiti kod za projekt, koji ćemo koristiti zajedno s ostalim elementima za razvoj naših aplikacija.

Stvaranje skripti
Prije nego što nastavimo s nekoliko redaka koda, bacit ćemo pogled na web stranice na kojima su prisutne naše skripte, dajući nam pregled onoga što možemo učiniti s njima ovisno o situaciji.

Skriptiranje unutar događaja


Unutar objekta postoje događaji povezani s njim, gdje ti događaji mogu sadržavati skriptu ili sadržavati radnju koja poziva jednu od njih. Ovo će biti jedini put u kojem će se funkcija Drag and Drop koristiti za skripte.

Do dodati skriptu za događaj moramo najprije stvoriti objekt iz izbornika resursa, a nakon kreiranja koristimo gumb dodaj događaj da biste ga stvorili:

POVEĆAJTE

Nakon ove radnje idemo na našu karticu kontrolirati i u odjeljku Kodirati, povući ćemo prvu ikonu koja izgleda kao list papira u Radnje i mi ćemo objaviti, ova radnja će stvoriti našu skriptu i možemo početi pisati naše redove koda:

POVEĆAJTE

Stvaranje skripti kao resursa


Da bismo stvorili skriptu kao resurs, idemo na izbornik resursa i odabiremo Napravi skriptu, gdje će se nakon stvaranja skripte pojaviti u stablu resursa u odgovarajućem odjeljku:

POVEĆAJTE

Imamo nekoliko načina za stvaranje skripte, a svaki od njih ima svoje prednosti, u slučaju skripte kao izvora sljedeći su uvjeti najkorisniji:

  • Kada mnogi objekti koriste funkcionalnost
  • Kad funkcija zahtijeva više unosa podataka ili argumenata.
  • Kada se koriste globalne radnje poput učitavanja i spremanja.
  • Prilikom implementacije složene logike ili algoritama.

Skripte u sobama


The sobe ili sobe su mjesto gdje se postavljaju određeni resursi i gdje se igra. Ovi se resursi mogu stvoriti kao i svi drugi iz odgovarajućeg izbornika s Napravi sobu:

POVEĆAJTE

Ove sobe ili sobe također mogu sadržavati skripte, za to kad uređujemo sobu idemo na karticu postavki unutar svojstava sobe i tamo bismo trebali vidjeti gumb Stvaranje koda:

Pritiskom na ovaj gumb stvorit će se prazna skripta povezana s tom prostorijom koja će se izvršiti nakon što igrač učita prostoriju, prije nego što bilo koji objekt pokrene vlastiti događaj.

GML skripte
Kad jednom znamo gdje možemo stvoriti svoje skripte i s kojim resursima ih povezati je vrijeme da saznamo dijelove koji čine naše skripte i koncepte koje moramo savladati, da vidimo.

Programi


Program u GML je niz uputa koje slijede određeni redoslijed, gdje možemo reći da se bilo koja skripta unutar GML je program u kojem se ti programi obično zatvaraju zagradama, pogledajmo primjer:
 {str_text = "Pozdrav svijetu"; x + = 10; if (x> 200) {str_text = "Pozdrav Solvetic"; }}
Kao što vidimo, to je jednostavan program u kojem izrađujemo instancu varijable tipa string, zatim definiramo da se svaki okvir ili 10 jedinica dodaje u x i na kraju uvjet da ako je x veći od 200, dodjela se ponovno izvodi.

Važno je napomenuti da točka -zarez, međutim, nije potrebna za GML preporuča se koristiti za poboljšanje čitanja koda. Također je poželjno ne koristiti velika slova i ako se bilo koja varijabla sastoji od dvije riječi, upotrijebite donju crtu.

Varijable
Varijable u GML Oni su ti koji nam omogućuju predstavljanje vrijednosti, a za razliku od ostalih programskih jezika oni nisu strogo jednog tipa, odnosno ne moraju predstavljati određenu strukturu podataka. Međutim, ove varijable mogu predstavljati jedan od ova dva tipa:

  • Realni broj može biti 200 ili 5.356. Ti cijeli brojevi također mogu odgovarati određenoj instanci objekta, sobe, skripte ili druge vrste izvora.
  • Niz koji predstavlja zbirku alfanumeričkih znakova koji se redovito koriste za prikaz teksta, poput: "Hello World".

Promjenjivi prefiksi


Kao što je gore spomenuto, varijable mogu odgovarati bilo kojoj vrsti podataka, čak i bilo kojoj vrsti resursa, ali za rješavanje ovog problema imamo prefikse za varijable koji nam omogućuju identifikaciju vrste podataka koji se u njima nalaze. To nije obvezno, ali je konvencija da bismo mogli bolje raditi u GML -u, na primjer ako imamo str_player_name Već ćemo znati da je to niz, pogledajmo prefikse koje možemo koristiti:
  • str: String
  • spr: Sprite
  • snd: Zvuči
  • bg: Pozadine
  • pth: Rute
  • scr: Skripte
  • fnt: Fontovi
  • tml: Vremenska traka
  • obj: Objekt
  • rm: Soba
  • ps: Sustav čestica
  • npr .: Odašiljač čestica
  • pt: Vrsta čestica
  • ev: Događaj

Opseg varijabli


Unutar naših skripti varijable imaju različite domete, što znači da se način na koji možemo pristupiti varijablama i postaviti vrijednosti može razlikovati. Pogledajmo različite opsege koje imamo:

Primjer


Ove su varijable jedinstvene za instancu ili kopije svakog objekta. Mogu im se pristupiti i postaviti sami i pomoću drugih objekata, što je najčešće u GML -u.

lokalno


To su oni koji postoje samo unutar funkcije ili skripte, deklarirani su korištenjem rezervirane riječi var a njima se može pristupiti samo u skriptama u kojima su definirani.

Globalno


Globalnoj varijabli može pristupiti bilo koji objekt putem skripte, ona pripada igri, a ne pojedinačnoj instanci instance objekta.

Konstante


Konstante su varijable čije se vrijednosti mogu samo čitati i ne mijenjati, mogu biti globalne ili čak instance.

Budući da poznajemo različite vrste opsega varijabli, pogledajmo mali primjer kako izvršavamo dodjelu prema opsegu:

 // slučaj 1 var a = 1; // slučaj 2 globalvar b; b = 2; // slučaj 3 global.c = 10; // slučaj 4 self.x = 10; // slučaj 5 y = 10;
Za prvi slučaj imamo a lokalna varijabla, to se lako prepoznaje upotrebom rezervirane riječi var. U drugom slučaju imamo deklaraciju a globalna varijabla i vaš zadatak. Za slučaj 3, to je alternativni način deklariranja i dodjeljivanja a globalna varijabla i na kraju za slučaj 4 i 5 su varijable instance ali jedan od njih kroz sebe a drugi ne.

Jezične varijable


Konačno, što se tiče varijabli, imamo neke globalne varijable i varijable instance koje pruža GameMaker: Studio za svaki objekt, kao npr x, sprite ili indeksa spomenuti nekoliko. No postoje jezične varijable koje su također globalne zdravlje ili zdravlje, postići ili bod i živote ili živi. Korištenje ovih varijabli ovisi o svakom razvojnom programeru pa se možemo odlučiti i bez njih, no ti ih nazivi znatno lakše pamte i primjenjuju u našim programima.

Značajke
A funkcija u GML-u to je funkcionalnost koja vam omogućuje pokretanje programa, prema zadanim postavkama može doći na jezik ili se može stvoriti kao izvor skripte.

Ove funkcije mogu izvršiti radnju kao što je promjena poravnanja fonta tijekom događaja crtanja, vraćanje vrijednosti ili oboje, pri čemu te funkcije moraju biti popraćene zagradama i, ako je potrebno, određenim argumentima za njihov rad. Pogledajmo nekoliko redaka koda da bismo vidjeli ponašanje nekih funkcija:

 // slučaj 1 draw_self (); // slučaj 2 draw_arrow (0,0,100,100,2); // slučaj 3 slučajna_vrijednost = slučajna (10, 23);
Za slučaj broj 1 imamo jednostavnu funkciju koja crta instancu, slučaj broj 2 je funkcija koja izvršava radnju i potrebni su joj argumenti za funkcioniranje, konačno imamo funkciju koja izvršava radnju, a to je dobivanje slučajne vrijednosti i vraćanje to na varijablu.

Postoji poseban slučaj koji je script_execute, što je funkcija koja nam omogućuje pristup skriptama kreiranim kao resursi, a posebnost je u tome što nam omogućuje korištenje varijabli naše skripte, a zatim je izvršavamo:

 self.script = scr_script_regourse; script_execute (self.script, "argument", obj_button, 0,12, netočno);
Kako možemo vidjeti spektar GameMaker: Studio seže daleko izvan njegova sučelja, imamo moćan alat poput GML -a koji ima elemente poznate programerima, kao što su varijable ili funkcije, i kroz to možemo primijeniti svoje razvojno znanje na razvoj naših projekata i igara.

wave wave wave wave wave