Treba da napravimo objekat koji zaustavlja igrača kada ga dodirne, tako da ne može da prođe kroz njega.
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
Napravite objekat kao na slici. Bitno je da štiklirate opciju Solid, tako da je objekat čvrst.
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.
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.
Nacrtajte još jedan sprajt, spr_wall_empty. U objektu obj_player napravite event Key Pressed <Ctrl> (ili bilo koj taster)
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 | Кључне речи: Game Maker
|
1
|
©Библиотека++ 2025 Развој сајта Ивица Лазаревић