Hlavní navigace

Seriál Knihovna ClanLib

Pokud jste někdy stáli před úkolem napsat v C++ program s grafickým rozhraním, rychlou 2D a 3D grafikou, s hudbou a třeba i se síťovou podporou, jakým bývají například hry, zjistili jste možná, že je to úkol nelehký. Pokud k vašim požadavkům patřila i multiplatformovost, mohla vám situace připadat skoro beznadějná, jako připadala i mně, než jsem objevil open source knihovnu ClanLib.

Knihovna Clanlib (28)

Dnešní článek bude jakýmsi krátkým doslovem za celým seriálem o knihovně ClanLib a také trochu upoutávkou na další seriál věnovaný programování jedné konkrétní hry v této knihovně, který se mi, jak doufám, podaří časem připravit.

Doba čtení: 1 minuta

Knihovna ClanLib (27)

V tomto pokračování seriálu navážeme na povídání o přehrávání zvuků, které jsme začali minule. Povíme si, jak měnit různé parametry zvuku (například hlasitost nebo váhu) přímo během jeho přehrávání. Ukážeme si, jak přehrát .ogg (Vorbis) a .xm (MikMod) soubory a povíme si, jak použít zvukové filtry.

Doba čtení: 4 minuty

Knihovna ClanLib (26)

V dalším pokračování seriálu si uděláme úvod do práce se zvuky v programech využívajících knihovnu ClanLib. Ukážeme si, jak je možné přehrát klasické .wav soubory. Tyto základní znalosti nám v příštích dílech umožní přehrávat i .ogg a .xm soubory a dynamicky měnit vlastnosti zvuků (např. hlasitost nebo váhu) během jejich přehrávání.

Doba čtení: 3 minuty

Knihovna ClanLib (25)

V další části seriálu o knihovně ClanLib budeme pokračovat ještě tak trochu v duchu minulého dílu. Povíme si o další poměrně jednoduché, avšak užitečné třídě, kterou je CL_Quad.

1. 11. 2004 0:00
Doba čtení: 3 minuty

Knihovna ClanLib (24)

V dalším pokračování seriálu o knihovně ClanLib se po poněkud náročnějších tématech několika minulých dílů zaměříme na něco snazšího. Povíme si totiž o třídách, jimiž v ClanLibu můžeme reprezentovat bod (CL_Point) a velikost obdelníku (CL_Size).

25. 10. 2004 0:00
Doba čtení: 3 minuty

Knihovna ClanLib (23)

Minule a předminule jsme se věnovali tvorbě menu. V tomto dílu si doplníme ještě několik informací týkajících se této problematiky (například si ukážeme, jak vytvořit menu s ikonami u jednotlivých položek) a příště se již budeme moci vrhnout zase na něco trochu jiného.

18. 10. 2004 0:00
Doba čtení: 5 minut

Knihovna ClanLib (22)

V dnešním dílu seriálu budeme pokračovat v povídání o tvorbě menu v ClanLibu. Zaměříme se zejména na vztah mezi třídami CL_Menu, CL_MenuNode a CL_MenuItem. Ukážeme si, že položkou menu může být vlastně libovolná komponenta.

11. 10. 2004 0:00
Doba čtení: 5 minut

Knihovna ClanLib (21)

V dalším pokračování povídání o multiplatformové knihovně ClanLib se po krátké přestávce opět vrátíme k tvorbě GUI. Zaměříme se na komponentu CL_Menu, která, jak ostatně už její název napovídá, slouží k tvorbě menu. Chybět nebude jednoduchý ukázkový program ani nějaké ty screeshoty ukazující, jak takové menu ve stříbrném stylu ClanLibu může vypadat.

4. 10. 2004 0:00
Doba čtení: 5 minut

Knihovna ClanLib (20)

Minule jsme při popisu třídy CL_Font narazili na třídu CL_Rect, což je, jak už bylo řečeno, třída reprezentující obdélník. Dnes si tuto třídu přiblížíme podrobně, protože při programování aplikací ClanLibu vlastních narazíme na potřebu nějakým způsobem reprezentovat obdélník velmi často.

27. 9. 2004 0:00
Doba čtení: 4 minuty

Knihovna ClanLib (19)

Minule jsme si udělali úvod do práce s fonty, dnes naše znalosti rozšíříme. Zabývat se budeme zejména třídou CL_Font.

20. 9. 2004 0:00
Doba čtení: 6 minut

Knihovna ClanLib (18)

V dalším dílu tohoto seriálu se podíváme na to, jak se v ClanLibu pracuje s fonty. Půjde o úvod do této problematiky - povíme si, jak vytvořit obrázek obsahující jednotlivé znaky tak, aby je ClanLib dokázal odlišit jeden od druhého, jak zapsat základní nastavení do RDF a jak vypsat konkrétní nápis v programu.

13. 9. 2004 0:00
Doba čtení: 5 minut

Knihovna ClanLib (17)

Dnes zakončíme sérii dílů věnujících se podrobnému popisu komponent, které nejčastěji používáme při tvorbě GUI.

Doba čtení: 5 minut

Knihovna ClanLib (16)

V tomto dílu se budeme nadále věnovat tématu tvorby GUI. Představíme si další komponenty, kterými jsou CL_Image, CL_ProgressBar a CL_InputBox.

30. 8. 2004 0:00
Doba čtení: 6 minut

Knihovna ClanLib (15)

V tomto dílu se podíváme blíže na ClanLibovské scroll bary a framy, čímž rozšíříme zásobu komponent, které jsme již schopni používat při tvorbě GUI.

23. 8. 2004 0:00
Doba čtení: 5 minut

Knihovna ClanLib (14)

Na přípravu tohoto dílu jsem měl trochu více času než obvykle, takže jsem stihl připravit ukázkový program demonstrující tvorbu GUI v ClanLibu. Program si můžete stáhnout buď jako obvykle v podobě zapakovaného KDevelopího projektu, nebo ve formě archivu s ručně psaným makefilem. Pro vás, které pouze zajímá, jak taková okenní aplikace vytvořená v ClanLibu může vypadat, jsem připravil pár obrázků. V našem povídání navážeme na minulý díl.

16. 8. 2004 0:00
Doba čtení: 6 minut

Knihovna ClanLib (13)

V dnešním dílu seriálu o multiplatformové knihovně ClanLib navážeme na díl předchozí. Budeme tedy pokračovat ve výkladu o tvorbě GUI. Konkrétně se zaměříme na možnosti nastavení komponent přímo v GDF. Podrobně se podíváme na tlačítka, popisky a okna.

9. 8. 2004 0:00
Doba čtení: 5 minut

Knihovna ClanLib (12)

Dnes se po vsuvce z minula (zaměřené na ukázkovou hru) vrátíme k tvorbě GUI, čímž navážeme na předminulý díl seriálu. Budeme pokračovat popisem vlastností a možností nastavení jednotlivých komponent (tlačítek, listboxů). Konkrétně se zaměříme zejména na třídu CL_Component, která je základní třídou pro ostatní komponenty.

2. 8. 2004 0:00
Doba čtení: 4 minuty

Knihovna ClanLib (11)

V tomto dílu seriálu jsem se rozhodl dočasně přerušit povídání o tvorbě GUI. Důvodem je to, že jsem dokončil ucelenější část hry, kterou se snažím psát jako ukázku síly ClanLibu. Uděláme si proto takové malé opakování toho, co již známe, a na reálných ukázkách kódu uvidíme, jak se dosud získané znalosti dají využít v praxi. S výkladem o GUI budeme pokračovat až po této malé vsuvce.

Doba čtení: 7 minut

Knihovna ClanLib (10)

Dnes se začneme věnovat tvorbě uživatelského rozhraní (GUI) v ClanLibu.

19. 7. 2004 0:00
Doba čtení: 7 minut

Knihovna ClanLib (9)

Dnes budeme pokračovat v povídání o signálech a slotech. Zaměříme se na některé signály, které vysílá ClanLib sám o sobě, jako třeba signál vyslaný při stisku klávesy, pohybu myši a podobně. Díky těmto znalostem již budeme schopni vytvářet interaktivní programy.

Doba čtení: 7 minut

Knihovna ClanLib (8)

Dnes dokončíme povídání o třídě CL_Sprite. Povíme si, jak je možné pohodlně vytvořit obrázek s průhledným pozadím pomocí programu Image Magic (věc, která se může hodit nejen programátorům v ClanLibu - uvedený příkaz je skriptovatelný a může vám tedy ušetřit hodně času). Uděláme si také úvod do signálů a slotů, což jsou velcí pomocníci při realizaci komunikace mezi objekty.

28. 6. 2004 0:00
Doba čtení: 7 minut

Knihovna ClanLib (7)

Dnes navážeme na minulý díl a dokončíme popis třídy CL_Sprite, která je mocným nástrojem při vytváření 2D animací. Zaměříme se podrobně na její vytváření z RDF.

Doba čtení: 6 minut

Knihovna ClanLib (6)

Dnes se sezámíme s třídou CL_Sprite, která nám umožňuje pohodlně vytvářet 2D animace z nějaké sady obrázků, pracovat s průhledností, barevností a pod.

Doba čtení: 5 minut

Knihovna ClanLib (5)

Dnes se podíváme na sadu chytrých (smart) pointerů, které nám ClanLib nabízí k použití. Článek snad pomůže všem programátorům v C++, kterým se už nechce trávit dlouhé hodiny hledáním úniků paměti a přemýšlením "Kam jen ten delete napsat?" a nejspíš i podstatně zrychlí a zefektivní jimi psaný kód. Na konci článku předvedeme využití chytrého ukazatele na rozsáhlejším příkladu, kterým rozšíříme naši hru.

7. 6. 2004 0:00
Doba čtení: 10 minut

Knihovna Clanlib (4)

V dnešním dílu se podíváme na to, jak nám ClanLib může usnadnit práci při psaní programů konfigurovatelných zvenku. Takové programy nebudeme muset kompilovat pokaždé, když se rozhodneme změnit nějakou konstantu, cestu k souboru s obrázkem a podobně. Vše si předvedeme na příkladu jednoduché hry, kterou se budeme snažit během tohoto seriálu naprogramovat.

Doba čtení: 9 minut

Knihovna Clanlib (3)

V tomto dílu, jak jsem již slíbil, vytvoříme první aplikaci. Přiblížíme si přitom celkovou logiku knihovny. Chybět samozřejmě nebude ani návod, jak nastavit některá vývojová prostředí (Kdevelop 2.1.3, VisualStudio 6.0). Ti z vás, kteří budou psát makefile ručně, možná odcení uvedený příklad.

Doba čtení: 7 minut

Knihovna Clanlib (2)

V prvním dílu věnovaném přímo knihovně ClanLib se podrobně podíváme na její instalaci pod Linuxem i pod Windows.

Doba čtení: 7 minut

Knihovna ClanLib

Pokud jste někdy stáli před úkolem napsat v C++ program s grafickým rozhraním, rychlou 2D a 3D grafikou, s hudbou a třeba i se síťovou podporou, jakým bývají například hry, zjistili jste možná, že je to úkol nelehký. Pokud k vašim požadavkům patřila i multiplatformovost, mohla vám situace připadat skoro beznadějná, jako připadala i mně, než jsem objevil open source knihovnu ClanLib, kterou bych vám v tomto úvodním článku rád představil.

Doba čtení: 5 minut