SDL: Hry nejen pro Linux (24)

Dvacátý čtvrtý díl je shrnutím celé série o multiplatformní knihovně SDL. Celý text je strukturován podle jednotlivých článků, u každého je uveden úvodní odstavec spolu se seznamem SDL příkazů, které v něm byly probrány.

SDL #1 - Úvod

V této sérii článků se vám představí knihovna SDL, která slouží pro vývoj her a multimediálních programů, její největší předností je možnost zkompilovat zdrojový kód pro všechny běžně používané operační systémy. Ukázkové programy budou napsány v jazyku C/C++ a zkompilovatelné minimálně pod operačními systémy GNU/Linux a MS Windows.

SDL #2 - Instalace SDL

V druhé části série si ukážeme, jak nainstalovat SDL a dále budou uvedeny "step-by-step" návody na vytvoření SDL projektů v gcc, MS Visual C++ a Dev-C++.

SDL #3 - Inicializace SDL programu

V první části článku se podíváme na konvenci názvů SDL funkcí a speciální datové typy, které SDL přináší. V druhé části bude popsána inicializace a deinicializace SDL.

SDL #4 - Vytvoření okna

V minulém dílu jsme si dopodrobna vysvětlili inicializaci SDL, ale ještě něco málo zbylo - nastavení vlastností a vytvoření okna. Jak brzy zjistíme, v porovnání s např. Win32 API je tato činnost v SDL mnohem jednodušší.

SDL #5 - Zobrazování grafiky

Dnes se podíváme na grafické funkce poskytované knihovnou SDL. Vzhledem k rozsáhlosti tohoto tématu zde budou uvedeny pouze nejzákladnější věci, podrobnostem se budeme věnovat až v následujících dílech.

SDL #6 - Operace se surfacem

V tomto dílu budeme dále rozvíjet naše znalosti o SDL grafice. Předvedeme si například, jak vyplnit surface barvou, jak docílit toho, aby určitá barva byla transparentní (průhledná), jak nastavit průhlednost i takového surface, který neobsahuje alfa kanál, a další užitečné věci.

SDL #7 - Přímý přístup k pixelům, kurzory

Tentokrát se ponoříme trochu více do hloubky, popíšeme si SDL grafické struktury a tyto znalosti následně využijeme k přímému přístupu k pixelům obrázku. V závěru budeme také měnit kurzor myši.

SDL #8 - OpenGL

Díky přímé podpoře OpenGL umožňuje SDL renderovat i 3D grafické objekty, které se staly nepsaným standardem naprosté většiny dnešních her. Tentokrát se tedy budeme věnovat podpoře OpenGL v SDL.

SDL #9 - Výstup textu pomocí SDL_ttf

V dnešním dílu bude popsána knihovna SDL_ttf, která slouží pro výpisy textů do scény. Se zobrazením textů a především s českými znaky bývá někdy potíž, nicméně použití SDL_ttf je velice jednoduché a naprosto bezproblémové.

SDL #10 - Komunikace se správcem oken, úvod do událostí

Seriál se přehoupl do druhé desítky, příště už na počítání přestanou stačit prsty ;-). Ale ještě než se tak stane, probereme si komunikaci aplikace se správcem oken, což v sobě zahrnuje změnu titulku okna, minimalizaci, přepínání do/z fullscreenu a několik dalších věcí. Ke konci bude také přidán lehký úvod do zpracování událostí.

SDL #11 - Fronta událostí

Na konci minulého dílu jsme nakousli základní práci s událostmi, dnes budeme pokračovat. Tento článek je primárně věnován práci s frontou událostí, ale jelikož ještě nevíme nic o unionu SDL_Event, bude částečně probrán i on.

SDL #12 - Klávesnice

Pravděpodobně nejpoužívanějšími vstupními zařízeními počítače jsou klávesnice a myš, v našem seriálu začneme právě klávesnicí. Podíváme se na ni jak z událostního pohledu, tak "přímým" přístupem a uděláme první krok k interaktivním hrám.

SDL #13 - Myš

Na řadě je další vstupní zařízení, tentokrát se jedná o myš. Opět se budeme věnovat, jak událostem, tak přímému přístupu.

SDL #14 - Joystick

Joysticky, kniply, páky a jiné ovladače bývají nedílnou součástí většiny her, hlavně simulátorů. Tento díl bude věnován právě jim.

SDL #15 - Ostatní události

V dnešním dílu o knihovně SDL dokončíme popis událostního systému. Budeme se mimo jiné věnovat změnám velikosti okna, jeho aktivacím a deaktivacím, posílání uživatelských zpráv a dalším věcem, které ještě zbývá probrat.

SDL #16 - Časovače a práce s časem

V dnešním díle se podíváme na systémové časovače a funkce pro práci s časem. Na konci budou také v rychlosti zmíněny rychlostní optimalizace včetně výpočtu FPS.

SDL #17 - Zvuky a hudba

V dnešním dílu o knihovně SDL začneme nový tematický celek, budou jím zvuky a hudba, které přinesou konec všem tichým aplikacím. Na první pohled by se mohlo zdát, že si musí naprostou většinu funkčnosti napsat programátor sám, nicméně je možné používat již hotový mixer v podobě rozšiřující knihovny SDL_mixer, který odstraní většinu námahy.

SDL #18 - Konverze zvuků, knihovna SDL_sound

V tomto díle konverzemi zvuků dokončíme popis funkcí, které SDL poskytuje pro audio. Druhá část článku bude věnována rozšiřující knihovně SDL_sound, která slouží pro dekódování zvuků z .MP3, .MID, .OGG a dalších běžně rozšířených typů souborů.

SDL #19 - Přehrávání zvuků pomocí SDL_mixer

Vše, co se týká SDL audio funkcí, už máme probráno, takže se zkusíme podívat na rozšiřující knihovnu SDL_mixer. Knihovna SDL_mixer poskytuje snadno použitelné funkce pro mixování zvuků a hudby. Je vhodná obzvlášť pro ty, kterým připadá standardní SDL audio API příliš nízkoúrovňové a strohé.

SDL #20 - Hudba a efekty

Ve 20. díle dokončíme popis knihovny SDL_mixer. Budeme se bavit především o hudbě a speciálních efektech, jako je nastavení rozdílné hlasitosti levého a pravého kanálu nebo simulace ztišení vlivem vzdálenosti zdroje zvuku od posluchače.

SDL #21 - CD-ROM

Další oblastí knihovny SDL, kterou si popíšeme, bude API pro práci s CD-ROM. Po přečtení tohoto článku byste měli být schopni si vytvořit jednoduchý CD přehrávač, jenž zahrnuje přehrávání a pauzy, listování a pohyb ve skladbách a také vysouvání mechaniky pro vložení nového disku.

SDL #22 - Vícevláknové programování

V dnešním díle o knihovně SDL se budeme věnovat podpoře tzv. vícevláknového programování. Podíváme se na vytváření nových vláken a samozřejmě také jejich synchronizaci, která nikdy nesmí chybět.

SDL #23 - SDL_RWops, SDL_Overlay + vše, na co se zapomnělo

V dnešním, závěrečném, díle o knihovně SDL se pokusím shrnout všechny věci, na které jsem během psaní seriálu pozapomněl popř. kterým jsem se z důvodu mé neznalosti nevěnoval pozornost. Mimo jiné se budeme věnovat SDL_RWops, YUV video overlay, nahrávání sdílených knihoven za běhu aplikace a proměnným prostředí.

SDL #24 - Obsah

Dvacátý čtvrtý díl je shrnutím celé série o multiplatformní knihovně SDL. Text je strukturován podle jednotlivých článků, u každého je uveden úvodní odstavec spolu se seznamem SDL příkazů, které v něm byly probrány.

PDF verze seriálu

Jako bonus na rozloučenou jsem pro všechny, kteří dočetli až sem ;-), vytvořil PDF verzi celého seriálu vhodnou pro tisk. Mimochodem má 110 stránek!

Download

Michal Turek - Woq <WOQ (zavináč) seznam.cz>, 28.07.2005