Teeme ise RTSi 1.osa


1. Alustame Game Makeri avamisega, nagu ikka.
Kõigepealt tegin kaks spritet ja miski suvalise muru moodi tausta.
Sellised:
Ehk siis kaks 32x32 palli ja 64x64 background.
Alguses, kui mootorit veel ei ole, ei ole tähtis, milline on RTSi graafika. Eks hiljem muudab paremaks.
2. Nüüd teeme esimese objekti. Ja panemegi talle nimeks pall. Spriteks aga punase palli sprite.

Pallist saab meie unit ehk siis üksus. Pärast võib tulla palli asemele juba sõjamees, tank, lennuk või misiganes muud.
Esimeseks ülesandeks tuleb teha pall "valitavaks" või selectitavaks, kuidas kellelgi inglise keel on.
Selleks on meil vaja tekitada pallile muutuja, mis määrab, kas ta on valitud või mitte.
Igasugune muutujate tegemine algab CREATE eventist. Niisiis, valigi eventite seast "create".





Ja sellesse eventisse paneme oma esimesed read koodi.

Koodi lisamiseks lohista scripti ikoon eventi aknasse. See:  

Ütlen kohe ära, et ühtegi MUUD ikooni meil vaja ei lähe, kuni mängu valmimiseni. Kõikvõimalikud muud ikoonid on 
lihtsalt tobedus ja ajavad lihtsa asja jõle keeruliseks. Kuigi algajad arvavad ekslikult, et ikoonidega on lihtsam :(

Ja hakkame koodima!
Kõigepealt siis muutuja valimise tarbeks. Et asi lihtne oleks, panemegi talle nimeks "vali".

kood:

vali = 0;

Suht lihtne aru saada, eksju. Sellel muutujal hakkab olema igal pallil 2 väärtust: 0, kui pall pole valitud, ja 1 kui pall on valitud.
Niimoodi "teab" iga pall, kas ta on valitud või mitte.


Nüüd aga tuleb pall ka tegelikult valitavaks teha. Teeme seda vasaku hiireklõpsuga.
Seega, MOUSE event ja "left button pressed"



Ja jälle kood:

if (vali = 0) 
 vali = 1; 
else 
 vali = 0;

Kood töötab järgnevalt: Kui pall ei ole valitud, muutub valituks. Kui on valitud, vastupidi.
Seegi on hirmus lihtne ja loogiline. Nüüd saame klõpsuga palli valida, ja teise klõpsuga "mittevalida".

3. Valimine korras? Aga kust me seda teame?

Teeme visuaalse efekti ka, et me saaks aru, kas pall on valitud või ei. Selleks joonistasin punase palli spritele uue frame.
Sellise:





Nagu pildilt näha, on teine frame samasugune nagu esimene, lisandunud on vaid heleroheline kast palli ümber.
Nüüd paneme palli valimisele reageerima: Kui ta on valitud, tekib palli ümber seesama heleroheline kast.

Võtame lahti palli DRAW eventi:



Ja sinna loomulikult.... kood.

if (vali = 0) 
 draw_sprite(s_pall1,0,x,y)
else
 draw_sprite(s_pall1,1,x,y) 

Mis loom on draw_sprite, võid lugeda manualist (nagu kõiki teisi käske selles tutorialis) täienduseks ise. Esimese korra puhul
seletan lahti.

draw_sprite (sprite nimi, frame number, x asukoht, y asukoht)
Ehk siis see funktsioon joonistab  ekraanile etteantud nimega spritest määratud numbriga pildi (frame) asukohale x ja y. 

Kood ise oli suht lihtne-loogiline. Kui pall ei ole valitud, joonistab frame 0, ehk punase palli.
Kui pall ON valitud, joonistab teise frame, selle helerohelise kastiga.

4. Nüüd on aeg meie tööd testida. Tee miski suvaline ruum, ja lisa sinna paar-kolm palli.

Ja klõpsi pallil.... veel kord... ja mõnel teisel pallil...



Selle osa GM6 (game maker 6.1 regatud)