Objekat kao prepreka za igrača

Treba da napravimo objekat koji zaustavlja igrača kada ga dodirne, tako da ne može da prođe kroz njega.

Crtanje sprajtova

Napravite sprite spr_wall, rezolucije 32x32. Uđite u Sprite Editor (Edit Sprite dugme)

Kliknite na da biste dodali praznu sliku. Onda duplim klikom na tu sliku ulazite u Image Editor.

Radi lakšeg crtanja, uveličajte sliku po želji klikom na . Nakon toga, izaberite alatku za crtanje pravougaonika .

U paleti sa desne strane, levim klikom birate prvu boju (boju ivice), a desnim drugu boju (boju unutrašnjosti) pravougaonika.

Sada, nacrtajte pravougaonik tako da prekriva celu sliku

Sačuvajte tu sliku, zatvorite Sprite Editor i Sprite Properties

Objekat

Napravite objekat kao na slici. Bitno je da štiklirate opciju Solid, tako da je objekat čvrst.

Dizajn sobe

Uđite u već postojeću sobu room0 koja sadrži samo objekat obj_player. Sada ćemo postaviti zidove u sobi. Radi lakšeg postavljanja, stavite grid (mrežicu) sobe na rezoluciju sprajta .

Izaberite objekat obj_wall, klikom na meni za biranje objekta

Držite Shift dok postavljate objekat da bi stavili više od jednog sve vreme dok držite levi klik. Napravite nešto ovako

Sačuvajte sobu.

Programiranje

Uđite u objekat obj_player. Napravite event On Collision with obj_wall

Dodajte Execute Script funkciju. Kod je izuzetno prost.

x=x;
y=y;

Ovo forsira objekat da ostane na mestu gde je bio pre nego što je dodirnuo obj_wall

Grafički se može koristiti funkcija Jump To Position


Kliknite na OK i pritisnite F5. Ako ste sve tačno uradili, objekat igrača staje pri dodiru sa zidom.

Kreiranje tastera koji menja stanje zida

Nacrtajte još jedan sprajt, spr_wall_empty. U objektu obj_player napravite event Key Pressed <Ctrl> (ili bilo koj taster)

Napomena

Bitno je da objekte, sprajtove, zvuke, pozadine nazivate sa prefiksima spr, obj, snd, bgm, bg radi lakšeg snalaženja tokom pisanja programa jer svi se formatiraju isto i teško ih je raspoznati.

U taj event stavite funkciju Execute Code. Kod glasi:

// Ovaj kod radi u principu dugmeta, ako je 0 onda postaje 1, ako je 1 onda postaje 0
// Kada je objekat solidan, on može da utiče na druge objekte i drugi mogu da utiču na njega
// Tako da ako nije solidan, kroz zid može da se prođe
if obj_wall.solid=0 then //ako obj_wall nije solidan
{
    obj_wall.solid=1  //postaje solidan
    obj_wall.sprite_index=spr_wall //menja mu se sprajt
}  
else //ako je već solidan
{
    obj_wall.solid=0 //postaje nesolidan
    obj_wall.sprite_index=spr_wall_empty //menja mu se sprajt
}

Sačuvajte to i pritisnite F5. Pritiskom na dugme Ctrl (ili koje god da je postavljeno), obj_wall bi trebalo da menja sprite i da kroz njega može da se prolazi.

 

Aleksa Marković
11.06.2015
Одељци: Зид Чланци topofkeks | Кључне речи:
0

Коментари:

Нови коментар

©Библиотека++ 2017 Развој сајта Ивица Лазаревић