„GameMaker: Studio“ scenarijai, kintamieji ir funkcijos

„GameMaker“: studija ir IDE, kurį jis mums suteikia, mes galime greitai ir lengvai sukurti vaizdo žaidimus, suteikdami mums draugišką ir aiškią sąsają, kuri taip pat suteikia įrankių, padedančių mums kurti žaidimus.

Viena iš šių priemonių yra GML arba „GameMaker“ kalba, kuris daug labiau išplečia mūsų aplinkos funkcionalumą ir leidžia mums per scenarijus parašyti savo projekto kodą, kurį naudosime kartu su likusiais elementais kurdami programas.

Scenarijų kūrimas
Prieš imdamiesi kelių kodo eilučių, mes pažvelgsime į svetaines, kuriose yra mūsų scenarijai, ir apžvelgsime, ką galime padaryti su jais, atsižvelgiant į situaciją.

Scenarijus įvykio metu


Objekte yra su juo susijusių įvykių, kuriuose šie įvykiai gali turėti scenarijų arba veiksmą, kuris iškviečia vieną iš jų. Tai bus vienintelis kartas, kai scenarijams bus naudojama vilkimo ir nuleidimo funkcija.

Į pridėti scenarijų į įvykį pirmiausia turime sukurti objektą iš savo išteklių meniu, o sukūrę naudojame mygtuką pridėti įvykį ją sukurti:

DIDELIS

Po šio veiksmo mes einame į savo skirtuką kontrolė ir skyriuje Kodas, vilksime pirmąją piktogramą, kuri atrodo kaip popieriaus lapas, į Veiksmai ir mes išleisime, šis veiksmas sukurs mūsų scenarijų ir galėsime pradėti rašyti savo kodo eilutes:

DIDELIS

Scenarijų kūrimas kaip ištekliai


Norėdami sukurti scenarijų kaip šaltinį, einame į savo išteklių meniu ir pasirenkame Sukurti scenarijų, kur sukūrus scenarijų jis bus rodomas išteklių medyje atitinkamame skyriuje:

DIDELIS

Turime kelis scenarijaus kūrimo būdus ir kiekvienas iš jų turi savo privalumų. Jei scenarijus yra šaltinis, naudingiausios yra šios sąlygos:

  • Kai daugelis objektų naudoja šią funkciją
  • Kai funkcijai reikia kelių duomenų įvesties ar argumentų.
  • Kai naudojami visuotiniai veiksmai, tokie kaip įkėlimas ir išsaugojimas.
  • Diegiant sudėtingą logiką ar algoritmus.

Scenarijai kambariuose


The kambariai arba kambariai, kuriuose yra tam tikrų išteklių ir kur žaidžiamas žaidimas. Šiuos išteklius galima sukurti kaip ir bet kurį kitą iš atitinkamo meniu Sukurti kambarį:

DIDELIS

Šiuose kambariuose ar kambariuose taip pat gali būti scenarijų, todėl redaguodami kambarį einame į nustatymų skirtuką, esantį kambario ypatybėse, ir ten turėtume pamatyti mygtuką Kodo kūrimas:

Paspaudus šį mygtuką, bus sukurtas tuščias scenarijus, susietas su tuo kambariu, kuris bus įvykdytas, kai žaidėjas įkelia kambarį, prieš tai, kai bet koks objektas suaktyvina savo įvykį.

GML scenarijai
Kai žinome, kur galime sukurti savo scenarijus ir su kokiais ištekliais juos susieti, laikas pažinti dalis, sudarančias mūsų scenarijus ir sąvokas, kurias turime įsisavinti, pažiūrėkime.

Programos


Programa viduje GML yra instrukcijų, sekančių tam tikra tvarka, serija, kur galime pasakyti, kad bet koks scenarijus GML yra programa, kurioje šios programos paprastai uždaromos petnešomis, pažiūrėkime pavyzdį:
 {str_text = "Labas pasaulis"; x + = 10; if (x> 200) {str_text = "Labas Solvetic"; }}
Kaip matome, tai paprasta programa, kurioje mes sukuriame eilutės tipo kintamojo egzempliorių, tada apibrėžiame, kad kiekvienas rėmelis arba 10 vienetų pridedami prie x ir galiausiai sąlyga, kad jei x yra didesnis nei 200, priskyrimas atliekamas dar kartą.

Svarbu paminėti, kad kabliataškis nėra būtinas, tačiau GML rekomenduojama jį naudoti kodo skaitymui pagerinti. Taip pat patartina nenaudoti didžiųjų raidžių ir, jei kintamasis bus sudarytas iš dviejų žodžių, naudokite pabraukimą.

Kintamieji
Kintamieji į GML Jie yra tie, kurie leidžia mums vaizduoti vertybes, ir skirtingai nuo kitų programavimo kalbų, jie nėra griežtai vieno tipo, tai yra, jie neturi atstovauti konkrečiai duomenų struktūrai. Tačiau šie kintamieji gali būti vienas iš šių dviejų tipų:

  • Tikrasis skaičius gali būti 200 arba 5 356. Šie sveikieji skaičiai taip pat gali atitikti tam tikrą objekto, kambario, scenarijaus ar kito tipo išteklių egzempliorių.
  • Eilutė, vaizduojanti raidinių ir skaitinių simbolių, kurie reguliariai naudojami tokiam tekstui rodyti kaip „Sveiki pasaulis“, rinkinį.

Kintamieji priešdėliai


Kaip minėta aukščiau, kintamieji gali atitikti bet kokio tipo duomenis, net ir bet kokio tipo išteklius, tačiau norėdami išspręsti šią problemą, turime kintamųjų priešdėlius, leidžiančius nustatyti juose esančių duomenų tipą. Tai nėra privaloma, tačiau tai yra susitarimas, kad galėtume geriau dirbti GML, pavyzdžiui, jei turime str_player_name Mes jau žinosime, kad tai eilutė, pažiūrėkime priešdėlius, kuriuos galime naudoti:
  • str: eilutė
  • spr: Sprites
  • snd: Garsai
  • bg: fonas
  • pth: Maršrutai
  • scr: scenarijai
  • fnt: Šriftai
  • tml: laiko juosta
  • obj: Objektas
  • rm: Kambarys
  • ps: dalelių sistema
  • pvz .: dalelių skleidėjas
  • pt: dalelių tipas
  • ev: Įvykis

Kintamųjų apimtis


Mūsų scenarijuose kintamieji turi skirtingas apimtis, o tai reiškia, kad būdas pasiekti kintamuosius ir nustatyti reikšmes gali skirtis. Pažvelkime į skirtingas sritis:

Instancija


Šie kintamieji yra unikalūs kiekvieno objekto egzemplioriui ar kopijoms. Juos gali pasiekti ir nustatyti patys ir kiti objektai, dažniausiai GML.

vietinis


Tai yra tie, kurie egzistuoja tik funkcijoje ar scenarijuje, jie deklaruojami naudojant rezervuotą žodį var ir juos galima pasiekti tik scenarijuose, kuriuose jie yra apibrėžti.

Pasaulinis


Visuotinį kintamąjį gali pasiekti bet kuris objektas per scenarijų, jis priklauso žaidimui, o ne atskiram objekto egzemplioriaus egzemplioriui.

Konstantos


Konstantos yra kintamieji, kurių reikšmes galima tik skaityti ir nekeisti, jos gali būti visuotinės ar net egzempliorinės.

Kadangi žinome įvairių tipų kintamuosius, apžvelkime nedidelį pavyzdį, kaip atliekame priskyrimą pagal apimtį:

 // 1 atvejis var a = 1; // 2 atvejis globalvar b; b = 2; // 3 atvejis globalus.c = 10; // 4 atvejis self.x = 10; // 5 atvejis y = 10;
Pirmuoju atveju turime a vietinis kintamasis, tai lengvai atpažįstama naudojant rezervuotą žodį var. Antruoju atveju turime deklaraciją a globalus kintamasis ir tavo užduotis. 3 atveju tai yra alternatyvus būdas deklaruoti ir priskirti a globalus kintamasis ir galiausiai 4 ir 5 atveju egzempliorių kintamieji bet vienas iš jų savarankiškai o kitas ne.

Kalbos kintamieji


Galiausiai, kalbant apie kintamuosius, turime keletą visuotinių ir egzempliorių kintamųjų, kuriuos pateikia „GameMaker“: studija kiekvienam objektui, pvz x, spritas arba indeksas paminėti keletą. Tačiau yra kalbos kintamųjų, kurie taip pat yra globalūs sveikata ar sveikata, rezultatas arba rezultatas ir gyvenimus arba gyvena. Šių kintamųjų naudojimas priklauso nuo kiekvieno kūrėjo, todėl galime nuspręsti apsieiti be jų, tačiau dėl šių pavadinimų juos daug lengviau įsiminti ir taikyti mūsų programose.

funkcijos
A funkcija „GML“ tai funkcija, leidžianti paleisti programą, ji gali būti numatytoji kalba arba gali būti sukurta kaip scenarijaus tipo šaltinis.

Šios funkcijos gali atlikti veiksmą, pvz., Pakeisti šrifto lygiavimą piešimo įvykio metu, grąžinti reikšmę arba atlikti abu veiksmus, kai po šių funkcijų turi būti skliausteliai ir, jei reikia, tam tikri jų veikimo argumentai. Pažvelkime į kelias kodo eilutes, kad pamatytume kai kurių funkcijų veikimą:

 // 1 atvejis draw_self (); // 2 atvejis draw_arrow (0,0,100,100,2); // 3 atvejis random_value = atsitiktinis (10, 23);
1 atvejo atveju mes turime paprastą funkciją, kuri atkreipia egzempliorių, atvejo numeris 2 yra funkcija, kuri vykdo veiksmą ir kuriai atlikti reikalingi argumentai, galiausiai turime funkciją, kuri atlieka veiksmą, ty gauti atsitiktinę vertę ir grąžinti jį į kintamąjį.

Yra ypatingas atvejis script_execute, kuri yra funkcija, leidžianti pasiekti scenarijus, sukurtus kaip ištekliai, o ypatumas tas, kad leidžia naudoti scenarijaus kintamuosius ir tada juos vykdyti:

 self.script = scr_script_recourse; script_execute (self.script, "argument", obj_button, 0.12, false);
Kaip mes galime pamatyti spektrą „GameMaker“: studija Mes turime galingą įrankį, pvz., GML, kuriame yra kūrėjams žinomų elementų, tokių kaip kintamieji ar funkcijos, ir per tai galime pritaikyti savo kūrimo žinias kurdami savo projektus ir žaidimus.

wave wave wave wave wave