Ahoj všem!
Hledal jsem nějaký tutorial na žebříky, ale žádný jsem nenašel. Tak jsem se rozhodl napsat vlastní!
1) Začínáme
Vezmeme to postupně, nejdřív vytvořte jednoduchý level s chováním Solid a s hráčem. Zařiďte, aby hráč nemohl vyskočit na ty plošiny nahoře.
Nebudu vysvětlovat, jak vytvořit jednoduchou plošinovku, najdete tu výborné
tutoriály
na toto téma.
2) Chování pro hráče
Nastavte hráči chování Platform a 8 direction. Jednoduše řečeno, vždycky jedno aktivujeme a druhé deaktivujeme při pohybu po žebříku a naopak mimo žebřík. Docela jednoduché, že?
Pozor na tučně zvýrazněné položky! Jsou důležité!
Directions: Up & Down
Set angle: No
Default Controls: Yes
Zbytek nechávám výchozí hodnoty, to opravdu záleží na vás a vaší hře.
ALE! Pokud to takto necháme, tak to moc fungovat nebude, takže při spuštění layoutu vypneme chování 8 direction:
Je důležité nastavit "ignore user input" místo "set disabled".
Taky se ujistěte, že nepoužíváte Default Controls u chování Platform.
Vyzkoušejte to, ale mělo by to být v pohodě!
Nezapomeňte uložit! Opravdová práce začíná tady!!!
3) Implementace žebříku
Vytvoříme nový spritový objekt se jménem "ladder". Udělejte ho užší, než je hráč.
Teď začneme implementovat jeho funkce!
Začneme přidáním dvou instančních proměnných canClimbLadders a onLadders pro hráče.
Hra při každém tiku zkontroluje stav hráče, zda MŮŽE lézt po žebříku a podle toho nastaví canClimbLadders na true nebo false, protože třeba ve vaší hře může dojít ke stavu, kdy nebudete chtít, aby mohl lézt po žebříku, např. když na něj bude něco útočit, nebo co já vím. V tomhle případě to bude vždy true.
Proměnná onLadders nám pak zkrátka říká, jestli hráč leze po žebři, nebo ne.
OK, takže teď našeho hráče naučíme lézt po tomhle žebříku.
Vyzkoušejte to a uvidíte, že to funguje... trochu. Hráč pouze při stisku šipky leze nahoru a moc to nejde. Tajemství se skrývá v prvním bloku Else.
Tak to poladíme!
OK, takže teď jsme změnili podmínku pro opuštění žebříku při stisku S. Taky hráče "zarovnáváme" na střed žebříku pomocí podmínky Set X. Podmínka Platformer vector se postará o odstranění nějakých chybiček, jak sami zjistíte, pokud jste na to už nepřišli.
A taky: komentáře a ULOŽIT !
Teď jste si asi všimli, že nemůžete doopravdy šplhat nahoru, tak o co jde?
To je další jednoduchý úkol:
Ach jo, ale teď se zase nedostaneme ze žebříku - pokud nezmáčkneme S - ale měli bychom snadno slézt na podlaze nahoře i dole, že?
Všimněte si, že jsem kvůli optimalizaci změnil umístění Set Platform Vector X a Set Platform Vector Y.
Už to máme skoro hotovo! Jenom ještě hráče naučíme slézat, když stojí nad žebříkem.
A - s drobnými úpravami - jsme hotovi :)
4) Závěr
Doufám, že vám komentáře usnadnily čtení kódu a pochopení logiky.
Toto je můj první tutorial, tak se mnou prosím mějte trpělivost. xD
Dotazy (či jakékoliv ohlasy) napište do sekce komentářů níže a já se je pokusím zodpovědět!
A je tam taky .capx, tak si to stáhněte. :)
Zdravím!