SDL - Úvod
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

SDL - ÚvodSDL - Úvod

 

SDL - Úvod

Google       Google       13. 9. 2005       35 625×

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++...

Reklama
Reklama

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ů.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
Autor programuje v C++, resp. využívá knihovnu SDL. Sportuje, má rád hudbu a zvířata.

Nové články

Reklama
Reklama
Obrázek ke článku Blockchain & Bitcoin konference

Blockchain & Bitcoin konference

V pátek 19. 5. 2017 se v pražském konferenčním centru Andel’s konala Blockchain & Bitcoin konference. Řada odborníků a podnikatelů v oboru blockchainu a kryptoměn představila možnosti budoucího směřování tohoto oboru. Speakeři většinou rusky mluvící provenience prezentovali řešení svých firem založená na technologii blockchainu.

Obrázek ke článku Malware KONNI se úspěšně skrýval 3 roky. Odhalil ho bezpečnostní tým Cisco Talos

Malware KONNI se úspěšně skrýval 3 roky. Odhalil ho bezpečnostní tým Cisco Talos

Bezpečnostní tým Cisco Talos odhalil celkem 4 kampaně dosud neobjeveného malwaru, který dostal jméno KONNI. Ten se dokázal úspěšně maskovat od roku 2014. Zpočátku se malware zaměřoval pouze na krádeže citlivých dat. Za 3 roky se ale několikrát vyvinul, přičemž jeho současná verze umožňuje útočníkovi z infikovaného počítače nejenom krást data, ale i mapovat stisky na klávesnici, pořizovat screenshoty obrazovky či v zařízení spustit libovolný kód. Pro odvedení pozornosti oběti zasílali útočníci v příloze také obrázek, zprávu a výhružkách severokorejského režimu či kontakty na členy mezinárodních organizací.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý