Nové výhodné předplatné namísto kreditů je tu! Více informací. Upravili jsme také naše provozní podmínky.
NOVINKA: Staň se datovým analytikem a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Lekce 12 - Skákačka v Pygame - Herní objekty - Vnitřní metody

V předchozí lekci, Skákačka v Pygame - Herní objekty, jsme se v naší Skákačce pustili do práce na samotných herních objektech.

V následujícím tutoriálu Pygame v Pythonu se podíváme na vnitřní metody třídy GameObject. Většina z nich bude později přepsána třídou, která z ní bude dědit, deklarace metod by zde ovšem neměla chybět. V případě, že bychom totiž zapomněli v dědících třídách metodu definovat, naše hra by spadla. Takhle se ale zavolá metoda nadřazené třídy a kód projde bez problémů.

Pohyb ve Skákačce

Začneme pohybem ve hře. Herní objekt se bude moci pohybovat po ose x a y. Použijeme k tomu metodu objektu pygame.Rect s názvem move_ip(). Ip je zkratka pro "in place". Rozdíl mezi metodami move() a move_ip() je ten, že metoda move() vrací nový objekt pygame.Rect se správnými souřadnicemi, kdežto move_ip() mění souřadnice původního objektu. Metody pro pohyb tedy budou vypadat takto:

def move_x(self, delta: float) -> None:
    GameEngineLogger.debug(f"Moving object {delta}@X")
    self.rect.move_ip(delta, 0)

def move_y(self, delta: float) -> None:
    GameEngineLogger.debug(f"Moving object {delta}@Y")
    self.rect.move_ip(0, delta)

 

...konec náhledu článku...
Pokračuj dál

Znalosti v hodnotě stovek tisíc získáš za pár korun

Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.

Před koupí tohoto článku je třeba koupit předchozí díl

Obsah článku spadá pod licenci Premium, koupí článku souhlasíš s Provozními podmínkami.

Co od nás v dalších lekcích dostaneš?
  • Přístup k jednotlivým lekcím dle způsobu pořízení.
  • Kvalitní znalosti v oblasti IT.
  • Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.

Popis článku

Požadovaný článek má následující obsah:

V tomto tutoriálu Pygame v Pythonu budeme pokračovat v práci na samotných funkčních objektech v naší Skákačce, konkrétně na vnitřních metodách třídy.
Článek pro vás napsala Lucie Flídrová
Avatar
Autor se věnuje pygame a pythonu obecně.
Aktivity