SDL je multimediální knihovna (nejen) pro C++. V tomto seriálu se vás pokusím naučit vykreslování 2D grafiky, ovládání pomocí klávesnice a myši, přehrávání zvuků a hudby a možná i něco navíc. Potřebujete samozřejmě alespoň základní znalost C++ (postačí i C, budeme programovat pouze strukturovaně). V úvodu vám napíšu něco o SDL a jak jej rozchodit ve VC++ a Dev-C++...
SDL (Simple Directmedia Layer) je nejen knihovna multimediální, ale také multiplatformní. To znamená, že jej podporuje nejen Windows, ale také mnoho dalších operačních systémů (Linux, Mac OS, Solaris, FreeBSD a další...). Knihovnu vyvíjí Loki Software a její oficiální stránky najdete na www.libsdl.org .
SDL funguje pod mnoha jazyky, avšak já vás jej budu učit pod C++. Budu vycházet zejména z těchto tutoriálů, které mne naučily většinu z toho, co v SDL umím, ale částečně budu také vycházet z vlastních zkušeností. Chtěl bych tímto poděkovat Mariu Androvi, který tyto skvělé tutorialy napsal.
Tento seriál je určen zejména pro ty, kteří zvládají alespoň základy jazyka C/C++ a chtějí v něm už konečně udělat něco grafického. Pokud C/C++ neovládáte, tak vám doporučuji nejdříve navštívit kurz C++ a až po usilovné práci s konzolí se sem vrátit. Podle mě je SDL pro začátky s grafikou ideální (i já sám jsem v něm napsal svou první hru), ale jestli jsou vám dva rozměry málo a raději byste dělali ve 3D, pak doporučuji buď DirectX nebo OpenGL - ve skutečnosti to není tak složité, jak se může zdát a navíc je vykreslování podporované hardwarově (je mnohem rychlejší).
Pokud C/C++ neovládáte, tak vám doporučuji nejdříve navštívit kurz C++ a až po usilovné práci s konzolí se sem vrátit.
Konec keců :), teď vám popíšu, jak sprovoznit SDL v MS Visual C++ a Dev-C++:
Visual C++
Nejprve potřebujete stáhnout aktuální vývojářskou verzi SDL pro Visual C++. Momentálně je to verze 1.2.9, kterou si můžete stáhnout zde. Ale pokud se chcete ujistit, zdali mezitím nevyšla nová verze nebo vám odkaz nefunguje, jděte na www.libsdl.org do sekce download / SDL 1.2 a podívejte se po Development libraries, tam najděte Win32 a z následujících odkazů vyberte Visual C++. Jakmile soubor stáhnete, tak vytvořte ve složce include od vašeho VC++ složku SDL (např. C:VC98includeSDL) a do ní nakopírujte obsah složky include ze stáhnutého souboru. Poté zkopírujte obsah složky lib ze stáhnutého souboru do složky lib vašeho VC++ (např. C:VC98lib). Vytvořte ve VC++ nový projekt (Win32 Application). Jděte do Project->Settings->Link a připište "sdl.lib sdlmain.lib" (bez uvozovek) na konec řady ostatních .lib souborů. Nakonec přejděte na Project->Settings->C/C++->Code Generation a ze seznamu Use run-time library vyberte Multithreaded DLL. Poslední věc, co musíte udělat je napsat někde na začátek hlavního cpp souboru #include <SDL/SDL.h>.Dev-C++
Nejprve potřebujete stáhnout aktuální vývojářskou verzi SDL pro Mingw32. Momentálně je to verze 1.2.9, kterou si můžete stáhnout zde. Ale pokud se chcete ujistit, zdali mezitím nevyšla nová verze nebo vám odkaz nefunguje, jděte na www.libsdl.org do sekce download / SDL 1.2 a podívejte se po Development libraries, tam najděte Win32 a z následujících odkazů vyberte Mingw32. Jakmile soubor stáhnete, tak vytvořte ve složce include od vašeho Dev-C++ složku SDL (např. C:Dev-CppincludeSDL) a do ní nakopírujte obsah složky include ze stáhnutého souboru. Poté zkopírujte obsah složky lib ze stáhnutého souboru do složky lib vašeho Dev-C++ (např. C:Dev-Cpplib). Vytvořte nový C++ projekt (nejlépe asi Windows Application), jděte do Projekt->Vlastnosti projektu->Parametry a do linkeru připište: -lmingw32 -lSDLmain -lSDL. Nyní už jen někde na začátek hlavního cpp souboru připište #include <SDL/SDL.h> a měli byste být připraveni pro psaní aplikace v SDL.Důležitou věcí je dynamická knihovna SDL.dll. K vývojářským verzím je přibalena u Dev-C++ ve složce bin a u VC++ ve složce lib. Abyste mohli spustit program v SDL, musíte mít tuto knihovnu buď ve složce C:windowssystem32 (Windows NT, 2000 a XP) nebo C:windowssystem (Windows 95, 98, ME), popřípadě ji mít ve stejné složce jako spustitelný program. Takže až budete chtít svůj program v SDL dát na internet, tak k němu nezapomeňte přibalit i SDL.dll.
To je pro dnešek vše. Příště si povíme něco o inicializaci SDL, vytvoření okna a vykreslení jednotlivých pixelů.