ANIMÁCIÓK HOZZÁADÁSA
Tegyük hozzá a játékos többi animációját. Először adjunk hozzá néhány további platformot a játékos számára, amikre ugrálhat, így könnyebben megláthatjuk, hogyan működnek az animációk.
Válts vissza a Layout nézetre, ahol látod a játékost és a platform mezőket. Tartsd nyomva a bal egérgombot jelöld ki a három mezőt a kiválasztáshoz. Ezután tartsd lenyomva a Ctrl billentyűt, és húzd el a csempék másolásához. Csináld ezt párszor, így lesz néhány platform, ahova lehet ugrani. A nézetnél kicsinyíts, hogy segítsen.
A jobb nézet érdekében növeljük meg az ablak méretét. Kattints a projekt nevére a Projekt sáv tetején a tulajdonságainak megjelenítéséhez. Változtasd meg a Window Size méretét 800, 600-ra.
Most, hogy valahova ugorhatunk, nagyobb ablakmérettel, többet is látunk, adjuk hozzá a játékos többi animációját.
Ne felejtsd el, hogy a Set mirrored művelettel automatikusan megfordítjuk a játékost balra és jobbra. Tehát csak animációkat kell importálni a jobbra néző játékos számára
Kattints duplán a játékosra az Layout nézetben az animációk szerkesztőjének megjelenítéséhez. Négy animációt szeretnénk importálni:
- Álló helyzet (tween)
- Futás
- Ugrás a futásból
- grás az álló helyzetból
Haladjunk végig a következő lépéseken:
- Kattints a jobb gombbal az Animations (Animációk) sávon (alapértelmezés szerint jobb oldalt látható és az Idle lesz rajta), és válaszd az Add animation (Animáció hozzáadása) lehetőséget.
- Írd be az animáció nevét. Érdemes könnyen megjegyezhető neveket adni, például az IdleToRun.
- A bal egérgombbal kattints az animációra átváltáshoz. Egy üres képkockát kell látnod.
- Kattints jobb gombbal az Animation frames (Animációs képkockák) sávra (alapértelmezés szerint alul látható, az animációs képkockákat felsorolva), és válaszd az Import sprite strip... lehetőséget.
- Keresd meg a sprite strip csíkot. Megjegyzés: a Jungle sprite csomagban, minden képkocka külön PNG fájlként is elérhető. A képkockák így importálhatók, de általában gyorsabb a sprite strip változat használata, így inkább keresd ki a teljes képsoros képet.
- Ellenőrizd, hogy a cellák száma megfelelő-e, majd kattintson az OK gombra.
- Töröld az első üres képkockát, amelyre már nincs rá szükség.
- Az első képkockában helyezd az origin-t (kezdőpontot) a játékos lábához. Próbáld meg úgy illeszteni, mint az Idle animációnál. Alkalmazd kezdőpontot a teljes animációra, ahogyan az Idle animációval is történt (kattintson a jobb gombbal az Origin elemre a Image points párbeszédpanelen, és válaszd az Apply to the whole animation lehetőséget).
- Tartsd lenyomva a Shift billentyűt, és nyomd meg a Crop gombot az összes importált képkocka egyszerre történő vágásához, eltávolítva a felesleges átlátszó területeket.
- A Properties sávban ellenőrizd, hogy minden animáció rendelkezik-e a következő tulajdonságokkal:
Speed: 22 a JumpFromStand számára, 15 minden máshoz.
Loop: Yes csak a Run animációhoz, a többinél No érték legyen.
Állítsd be ezt az animációkhoz, a végén a játékosnak öt animációval kell rendelkeznie.
Zárd be az animációs szerkesztőt. Most be kell állítanunk a játékos objektumnak, hogy váltson a megfelelő animációra a megfelelő időben. Ehhez a platform viselkedése animációs triggereket biztosít - eseményeket, amelyek akkor futnak, amikor a játékosnak meg kell változtatnia az animációját. Utána a játékos Set animation műveletét fogjuk használni. Ne feledd, hogy a Platform viselkedése (az animációs triggerekkel) a PlayerBox objektumon van, és utána majd beállítjuk látható Player objektum animációját.
Már van egy IdleToRun animációnk. Ez azt jelenti, hogy amikor elindulunk, az animációk így indulnak el:
Álló helyzet: Idle
Mozgás: IdleToRun
Amikor az IdleToRun befejeződik: Run
Ezt könnyű beállítani eseményekkel is.
ANIMÁCIÓS ESEMÉNYEK BEÁLLÍTÁSA
Remélhetőleg már ismered az esemény létrehozásának folyamatát:
- Ki kell választani az objektumot.
- Ki kell választani a feltételt és a műveletet.
- Opcionális: paraméterek megadása, ha feltételnek vagy a műveletnek van.
Válts vissza az eseménylap nézetre (Event Sheet View). Először állítsuk az animációt IdleToRun-ra, amikor elindulunk, a Platform viselkedés On moved (mozgás indulása) triggerjével a PlayerBox objektumban:
Amikor az IdleToRun animáció befejeződik, át akarunk váltani a Run (Futás) animációra. Ezt megtehetjük az On animation finished triggerrel a Player objektumban:
Ha a játékos fut, majd megáll, akkor vissza kell térnünk az Idle animációra. Ezt az On stopped triggerrel tudjuk beállítani a PlayerBox objektumban:
Futtasd a játékot. A játékosnak most már képesnek kell lennie arra, hogy átkapcsoljon a futásról a megállt helyzetre, az IdleToRun animáció között. Az ugrási animációk azonban még nem játszódnak le. Mivel két ugrási animációnk van, ezért különféle animációkat kell beállítanunk attól függően, hogy a játékos fut-e vagy sem, amikor ugrik. Ez megtehető a következő eseményen:
Észreveheted hogy itt már vannak alesemények - azok behúzva jelennek meg az Ugrás esemény alatt. Mindegyik al-esemény le lesz ellenőrizve a "szülő" esemény futása után. Ez valósítja meg a logikánkat: amikor a Platform viselkedésnél ugrik, ha épp mozgás közben, akkor beállítja a JumpFromRun-t; egyébként állítsa be a JumpFromStand animációt.
Alesemény létrehozásához kattintson a jobb gombbal a szülőeseményre, és válaszd az Add-> Add sub-event (Alesemény hozzáadása) lehetőséget, vagy jelöld ki az eseményt és nyomd meg az S billentyűt.
A fenti esemény végrehajtásához meg kell fordítani egy feltételt (piros keresztként jelenik meg). A fordított feltételek ellentétesek azzal, amit állítanak. Ebben az esetben a "Platfor is moving" (a platform mozog) fordított állapot azt jelenti, hogy "Platform is NOT moving" (a platform nem mozog). Egy feltétel megfordításához add hozzá normál módon, majd kattints rá a jobb gombbal, és válaszd az Invert (Invertálás) lehetőséget. Alternatív megoldásként válaszd ki és nyomd meg az I billentyűt.
Már csak egy dolgot kell tennünk: a játékos ugrás után továbbra is a Jump animáción marad, még akkor is, amikor leszáll, hacsak nem állítjuk vissza az animációt Idle-re vagy Run-ra. Ez nagyon hasonlít az előző eseményhez: az On Land animációs triggernél, állítsuk be a „Run” animációt, ha fut, egyébként maradjon „Idle”
Miután ezeket beállítottuk, futtassuk a játékot. Gratulálok – most egy teljesen animált játékos karaktert készítettél! Figyeld meg, hogy a különböző animációk hogyan zajlanak, ha álló helyzetből ugrasz, vagy futsz. Azt is ellenőrizd, hogy mikor földet érsz egy ugrás után, visszatérhet az Idle vagy a Run animációhoz, attól függően, hogy mozog-e vagy sem a játékos.
Itt az idő készíteni egy ellenfelet!