Játékfunkciók beillesztése
Gyorsítsuk fel egy kicsit az események hozzáadását. Ne feledje, hogy egy feltétel vagy művelet hozzáadásának lépései:
- Kattints duplán egy új esemény beillesztésére vagy az Add action (Művelet hozzáadása) linkre egy művelet hozzáadásához.
- Kattints duplán arra az objektumra, amelyre a feltétel / művelet fennáll.
- Kattints duplán a kívánt feltételre / műveletre.
- Írd be a szükséges paramétereket.
Innentől egyszerűsítjük az eseményeket leírását. Először az objektum szerepel, majd a feltételt / műveletet, majd az esetleges paraméterek követik. Például az éppen megírt eseményt leírása így néz ki:
Feltétel hozzáadása: System (Rendszer) -> Every tick (Minden tick)
Művelet hozzáadása: Player -> Set angle towards position -> X: Mouse.X, Y: Mouse.Y
Golyó kilövése
Ha a játékos klikkel egyet a bal egérgombbal, akkor ki kell lőnie egy golyót. Ezt Spawn an object (Objektum létrehozása) művelettel fogjuk létrehozni a Player objektumban, amivel létrehoz egy új példányt ugyanabban a helyzetben és szögben. A Bullet movement amelyet korábban adtunk hozzá fogja a golyót előre repíteni. Hozza létre a következő eseményt:
Feltétel (Condition): Mouse (Egér) -> On click (klikkelésre) -> Left clicked (Bal klikk) (alapértelmezett)
Művelet (Action): Player -> Spawn another object (Másik objektum létrehozása) -> Objektumnak pedig válassza a Bullett (Golyó) objektumot. A Layer-nél ( Rétegnél) adja meg 1-et (a "Main" réteg az 1. réteg - ne feledje, hogy a Construct 2 nullától indítja a számozást). Az Image point értéket hagyja 0-n.
Az eseményednek most így kell kinéznie:
A játék futtatásakor a golyók a játékos közepéből lőnek, nem pedig a fegyver végéből. Javítsuk ki úgy, hogy egy image point-ot (képpontot) helyezünk a fegyver végére. (A képpont csak egy pozíció a képen, ahonnan tárgyak jelenhetnek meg.)
Kattints a jobb gombbal a Player objektumra vagy az objektum sávban, és válaszd az Edit animations (Animációk szerkesztése) lehetőséget.
Megjelenik a játékos képszerkesztője. Kattintson a Set origin and image points (Kezdőpont és képpontok beállítása) eszközre:
Majd megnyílik az Image points (képpontok) párbeszédpanel:
Az objektum kezdőpontjánál egy piros pont látható megnyitáskor.
Ezt hívjuk "hotspot-nak" vagy "pivot point-nak". Ha forgatja az objektumot, akkor a körül fog forogni. Adjunk hozzá még egy képpontot, ami a fegyvert fogja, kattintson a zöld plusz gombra. Megjelenik egy kék pont - ez az új képpontunk. Kattintson a bal egérgombbal a játékos fegyverének végére, és helyezze oda a képpontot:
Zárja be a képszerkesztőt. Kattintson duplán a korábban hozzáadott Spawn an object műveletre, és állítsa az Image point- ot 1-re . (A kiindulási pont mindig az első képpont, és ne feledje, hogy a Construct 2 nullától számol.) Az eseménynek most úgy kell kinéznie, mint a lent látható ábrán, most már az Image point-nál 1-nek kell szerepelnie.
Futtassuk le a játékot. A golyók most már a fegyver végéből repülnek ki! A golyók még nincs más feladatuk. Remélhetőleg már sejted, hogy az eseményrendszerrel hamar össze lehet hozni az új funkcióját.
Készítsük el, hogy a golyók megölik a szörnyeket. Adja hozzá a következő eseményt:
Feltétel (Condition): Bullet -> On collision with another object (Más tárgyakkal való ütközés esetén) -> válassza Monster objektumot.
Művelet (Action): Monster -> Destroy.
Művelet: Bullet -> Spawn another object -> Explosion (Robbanás) , layer 1
Művelet: Bullet -> Destroy
Robbanás effekt
Futtasd a játékot, és próbálj lelőni egy szörnyet. Hoppá, a robbanásnak megmaradt a nagy fekete szegélye!
Elsőre úgy tűnik, hogy nem így képzeltük el a robbanást, semmi gond, ezt a hibát mindjárt kijavítjuk. Kattints az Explosion objektumra a jobb alsó részben található Objektum sávban, vagy a Projekt sávban (amelyet a layers sáv mellett helyezkedik el). Az objektum tulajdonságai baloldalon látható panelben lesznek. Az alján állítsa be a Blend mód tulajdonságot Additive-re. Most próbáld újra a játékot.
Hogyan is működik? Anélkül, hogy belemennénk a részletekbe, a normál képeket beillesztjük a képernyő tetejére. Az additív effektus hatására minden pixelt hozzáadunk (mint az összesítve), a háttérpixellel együtt. A fekete egy nulla pixelérték, tehát nem lesz hozzáadva – ezért nem látszik a fekete háttér. A világosabb színek többet értéket képviselnek, így erősebben jelennek meg. Nagyszerű robbanásokra és fényhatásokra.
Szörnyek fejlesztése
Jelenleg a szörnyek csak vándorolnak a layouttól jobbra. Javítsunk ezen egy kicsit. Először helyezzük el őket egy véletlenszerű szögben.
Feltétel: System -> On start of Layout (A layout indulásakor)
Művelet: Monster -> Set angle (szög beállítása)-> random(360) (véletlenszerű)
Még mindig levándorolnak a layoutról úgy, hogy soha többé nem láthatjuk őket. Tartsa bennünket. Megoldásként fordítsuk őket vissza a játékosra, amikor elhagyják az layoutot. Ez két feladatot is megtesz: mindig az layouton (elrendezésen) belül maradnak, és ha a játékos egy áll, akkor a szörnyek felé fognak jönni!
Feltétel: Monster -> Is outside layout (Elrendezésen kívül helyezkedik el)
Művelet: Monster -> Set angle toward position (Szög beállítása egy pozícióra) -> X: Player.X, Y: Player.Y.
Futtassuk a játékot. Ha a játékos egy ideig tétlenül álldogál, észreveszi, hogy a szörnyek is a layouton maradnak és és mindenféle irányba haladnak. Nem egy Mesterséges Intelligencia, de megteszi!
Jó lenne, ha a játékban egy szörnyet ötször kelljen lelőni, mielőtt meghal, ahelyett, hogy azonnal meghal. Hogyan csináljuk? Ha csak egy Élet számlálót hozunk létre, akkor, ha ötször meglövünk egy szörnyet, az összes szörny meghal. Ehelyett minden szörnynek rendelkeznie kell egy saját életponttal. Ezt megtehetjük példányváltozókkal.