× Aktuálně z oboru

Programátoři po celém světě dnes slaví Den programátorů [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]
Celá zprávička [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]

SDL - Úvod

[ http://programujte.com/profil/20356-vaclav-milata/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/118-zdenek-lehocky/ ]Google [ ?rel=author ]       13. 9. 2005       38 853×

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 [ http://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 [ http://cone3d.gamedev.net/cgi-bin/index.pl?page=tutorials/gfxsdl/index ] 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 [ http://www.libsdl.org/release/SDL-devel-1.2.9-VC6.zip ]. Ale pokud se chcete ujistit, zdali mezitím nevyšla nová verze nebo vám odkaz nefunguje, jděte na www.libsdl.org [ http://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 [ http://www.libsdl.org/release/SDL-devel-1.2.9-mingw32.tar.gz ]. Ale pokud se chcete ujistit, zdali mezitím nevyšla nová verze nebo vám odkaz nefunguje, jděte na www.libsdl.org [ http://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ů.


Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2005092003-sdl-uvod/ ].