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.

Petr Kavánek

22. 11. 2004 0:00
| 2

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.

Petr Kavánek

15. 11. 2004 0:00
| 1

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

Petr Kavánek

8. 11. 2004 0:00
| 6

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.

Petr Kavánek

1. 11. 2004 0:00

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

Petr Kavánek

25. 10. 2004 0:00

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.

Petr Kavánek

18. 10. 2004 0:00

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.

Petr Kavánek

11. 10. 2004 0:00

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.

Petr Kavánek

4. 10. 2004 0:00

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.

Petr Kavánek

27. 9. 2004 0:00

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.

Petr Kavánek

20. 9. 2004 0:00

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.

Petr Kavánek

13. 9. 2004 0:00

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.

Petr Kavánek

6. 9. 2004 0:00
| 2

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.

Petr Kavánek

30. 8. 2004 0:00

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.

Petr Kavánek

23. 8. 2004 0:00

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.

Petr Kavánek

16. 8. 2004 0:00

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.

Petr Kavánek

9. 8. 2004 0:00

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.

Petr Kavánek

2. 8. 2004 0:00

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.

Petr Kavánek

26. 7. 2004 0:00
| 2

Knihovna ClanLib (10)

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

Petr Kavánek

19. 7. 2004 0:00

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.

Petr Kavánek

12. 7. 2004 0:00
| 4

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.

Petr Kavánek

28. 6. 2004 0:00

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.

Petr Kavánek

21. 6. 2004 0:00
| 3

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.

Petr Kavánek

14. 6. 2004 0:00
| 1

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.

Petr Kavánek

7. 6. 2004 0:00

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.

Petr Kavánek

31. 5. 2004 0:00
| 1

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.

Petr Kavánek

24. 5. 2004 0:00
| 4

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.

Petr Kavánek

17. 5. 2004 0:00
| 3

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.

Petr Kavánek

10. 5. 2004 0:00