NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 10 - Poškození hráče, menu hry a restart ve SpriteKit

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Radek Šíp
Člen
Avatar
Radek Šíp:3.2.2020 21:49

Nefungovalo mi to úplně správně, nakonec jsem tam udělal dvě drobné změny.
Jakmile vyskočí alert, tak bylo na pozadí slyšet, jak tam ty nepřátelé pořád střílí. Zkusil jsem to vyřešit přes pauzu, případně zastavit timer nepřátelské střelby, odebrat hráči akce a jeho vlastní node.

Druhá věc, že mi nefungoval správně restart hry (ani když jsem si stáhl projekt a použil vzorový GameViewContro­ller). Možná to mám někde tak zcustomizované, že se to třískalo. Prostě se vždy použila ta původní gamescene před prohrou.
Nakonec jsem to udělal tak, že tu prohranou scénu dám na nil a tím zajistím, že příště se udělá nová.

Nakonec ještě postřeh k Apple TV: od té doby kdy jsem dal UIView jako menu, tak mi nefunguje úplně správně registrace gamepad ovladačů, původně jsem měl jen dva řádky připojení/odpojení ovladačů, fungovalo to správně včetně startu hry s již připojeným ovladačem.

NotificationCenter.default.addObserver(self, selector: #selector(connectControllers), name: NSNotification.Name.GCControllerDidConnect, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(disconnectControllers), name: NSNotification.Name.GCControllerDidDisconnect, object: nil)

Po té, co je první UIView, tak musím ještě zavolat zvlášť connectContro­llers() protože pokud byl ovladač připojen již v době startu hry, tak se o tom hra nedozví.
Věřím, že způsobeno nějakou mou nezkušeností a jde to elegantněji observery na lepším místě.

 
Odpovědět
3.2.2020 21:49
Avatar
Filip Němeček
Tvůrce
Avatar
Odpovídá na Radek Šíp
Filip Němeček:3.2.2020 22:00

Díky za doplnění ohledně dobrodružství s Apple TV :-) To s tou scénou je zvláštní, korektně se mi restartovala, když jsem zkoušel. Měl jsi tam tu referenci jako weak ve scéně?

 
Odpovědět
3.2.2020 22:00
Avatar
Radek Šíp
Člen
Avatar
Odpovídá na Filip Němeček
Radek Šíp:3.2.2020 22:29

jo jo, v GameScene:

weak var controller: GameViewController?

ale když to šlo vyřešit jinak, dal jsem to :-)

 
Odpovědět
3.2.2020 22:29
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.