ITnetwork Flashka zdarma C a C++ týden
Akce! Pouze tento týden sleva až 80 % na kurzy C++. Lze kombinovat s akcí 50 % bodů navíc na prémiový obsah!
Brno? Vypsali jsme pro vás nové termíny školení Základů programování a OOP v Brně!

Lekce 1 - Grafická knihovna Allegro pro C a C++

Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem.
Vydávání, hosting a aktualizace umožňují jeho sponzoři.

Allegro je svobodná, open source, cross-platformní knihovna zaměřená především na hry a multimediální programování. Zabývá se běžnými, low-level úkoly, jako je vytváření oken, vstupu uživatele, načítání dat, kreslení obrázků, přehrávání zvuků, atd. Ve výchozím nastavení má knihovna hardwarovou akceleraci pomocí OpenGL nebo DirectX. Knihovna je napsána v programovacím jazyce C a je navržena pro použití s ​​C nebo C++. Je dodávána s rozsáhlou dokumentací a mnoha příklady.

Historie

Allegro napsal Shawn Hargreaves pro Atari, ale roku 1995 allegro přepsal. Od verze 4.0 dokáže pracovat na několika systémech.

Rozšíření

  • BMP, TGA, PNG, GIF, JPEG, MPEG, Ogg, MP3, TTF ,IT,S3M,XM...

další knihovny http://www.allegro.cc/…ce/Libraries

Pro jazyky

  • Python, Perl, Scheme, C#, D ...

další jazyky http://alleg.sourceforge.net/bindings.html

Podpora systémů

Pro verzi 4.

Allegro

Instalace

Budu používat visual studio 2008, jakou verzi si vyberete je na vás… Používám verzi Allegro 4.2.2. Sice už je verze 5, ale ta má úplně jiné API.

Nainstalujte Visual studio a stáhněme Allegro z adresy http://alleg.sourceforge.net/download.html nebo zde na stránce.

Allegro visual

Rozbalíme do složky podle libosti. Já to mám například zde:

Allegro uložení

Přidáme hlavičkové soubory a .lib knihovny

Soubory přidáme poklepáním na Tools -> Options -> Project and Solutions -> VC++ Directories

Allegro hlavičky

Přidáme allp.lib a alleg.lib knihovny Project -> Propreties -> Linker -> Input allp.lib pro Debug a alleg.lib pro Release

Allegro knihovny

Nový projekt

  • Spustíme Visual studio
  • File -> New -> Project -> Win32
  • Win32 Projekt -> Windows application(Empty project)
Allegro
  • Source files -> Add -> New Item -> C++ file
Allegro

Hello world

  • Abychom mohli používat Allegro, musíme připojit hlavičkový soubor allegro.h. Napíšeme vstupní funkci main()
  • inicializujeme allegro
  • inicializujeme klávesnici
  • nastavíme grafickou kartu
  • Parametr je automatické detekování grafické karty
  • Výška obrazovky
  • Šířka obrazovky
  • Výška virtuální obrazovky
  • Šířka virtuální obrazovky
  • Při stisku jakékoli klávesy se ukončí cyklus.
Allegro

 

Stáhnout

Staženo 608x (8.9 MB)
Aplikace je včetně zdrojových kódů v jazyce C++

 

 

Aktivity (1)

 

 

Komentáře

Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Zdeněk Pavlátka:24.10.2012 17:27

Proč jsou první dva odstavce okopírované z wikipedie?

Odpovědět 24.10.2012 17:27
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Zdeněk Pavlátka
David Čápka:24.10.2012 17:32

Achjo :D Měl bych to častěji kontrolovat, nenapadlo mě, že "zdroj wiki" znamena "zkopírováno z wiki". Dám to pryč.

Odpovědět 24.10.2012 17:32
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Maxfx
Redaktor
Avatar
Odpovídá na David Čápka
Maxfx:24.10.2012 17:36

ano zdroj z wiki znamená zkopírováno z wiki , chtěl jsem uvést více zdrojů

Editováno 24.10.2012 17:39
Odpovědět 24.10.2012 17:36
Být ovládán znamená být sledován, pod dohledem, špehován, veden, uzákoněn, reglementován, ohrazen, indoktrinován, pře...
Avatar
leh
Člen
Avatar
leh:30.10.2012 20:58

škoda spíš bych uvítal neco o allegru 5

Editováno 30.10.2012 20:59
 
Odpovědět 30.10.2012 20:58
Avatar
Maxfx
Redaktor
Avatar
Odpovídá na leh
Maxfx:31.10.2012 15:27

budu se snažit udělat i v 5 i na linux

Odpovědět 31.10.2012 15:27
Být ovládán znamená být sledován, pod dohledem, špehován, veden, uzákoněn, reglementován, ohrazen, indoktrinován, pře...
Avatar
pardal486
Člen
Avatar
pardal486:6.1.2013 7:19

To bude u každýho novýho projektu, nebo to vždy budu muset dělat ručně?

Editováno 6.1.2013 7:19
Odpovědět 6.1.2013 7:19
Bite my shiny, metal ass!
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na pardal486
Zdeněk Pavlátka:6.1.2013 7:57

Musíš to dělat ručně, nebo zkopírovat projekt. :P

Odpovědět 6.1.2013 7:57
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Maxfx
Redaktor
Avatar
Odpovídá na pardal486
Maxfx:6.1.2013 16:08

Nemusíš to dělat pořád ručně .Musíš to akorád nastavit cesty to je vše

Odpovědět 6.1.2013 16:08
Být ovládán znamená být sledován, pod dohledem, špehován, veden, uzákoněn, reglementován, ohrazen, indoktrinován, pře...
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Zdeněk Pavlátka:23.1.2013 19:45

Byl bych rád za tutoriály k verzi 5. Sám mám verzi 5.0.8, ale moc s ní ještě neumím. Všechny názvy se oproti allegru 4 změnily o_O , ještě jsem nenašel 2 stejné. Má ale dobře udělanou kontrolu událostí (eventy) a práci s grafikou. Zdá se mi ale, že se některé kódy čím dál víc podobají Game makeru.

Editováno 23.1.2013 19:46
Odpovědět 23.1.2013 19:45
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
h.honzicek
Člen
Avatar
h.honzicek:3.5.2013 3:19

hahahahaha nic z toho co tu je nejede ani z jinych stranek pche stahl jsem si visual studio 2008 a konecne rozbehal pod 64bit win7 graficke prostredi najdete v Program files x86\visual studio 9.0\common7\ide on totiz setup od ms není ani ochoten vytvořit zástupce v nabídce start dale proc muj visual studio 2008 je jiny nez ten 2008 ktery je zde a moc se lisi pak jsem zkousel vsechny zdrojaky od tud i od jinut plus vlastni ale zadne ze zde uvedenych cecek nefunguji s knihovnou allegro

Editováno 3.5.2013 3:21
 
Odpovědět 3.5.2013 3:19
Avatar
Maxfx
Redaktor
Avatar
Odpovídá na h.honzicek
Maxfx:3.5.2013 10:39

tak něco děláš blbě

Odpovědět 3.5.2013 10:39
Být ovládán znamená být sledován, pod dohledem, špehován, veden, uzákoněn, reglementován, ohrazen, indoktrinován, pře...
Avatar
h.honzicek
Člen
Avatar
h.honzicek:4.5.2013 0:05

jako kdyz udelam to co je uvedeno vyse tak by mel fungovat i zdrojak v allegru jako ten tetris co tu je atd mimochodem to co tu je ten tetris atd se dela v MS-C++ nebo v DEV-c++? take mne napadl fakt ze drive kdyz vsechno jelo jen od Microsoftu ze to fungovalo jak ma a i kdyz Bill Gates podle televiznich dokumentu kradl firme Apple nebylo to moc na skodu spolehlivost Maca a kompatibilita PC to byl Windows 3.11 nebo 98 kdo by ho nechtel mít že?
Ja jako dite programoval v QuickBasic 7 na svem PC 80286 pozdeji Pentium 1 MMX proto ted v tom plavu to jsou same frameworky a knihovny bude dlouho trvat nez me do toho dostanete jak mi znami tak i vy z DevBook skoda ze se me zdrojaky .BAS nezachovaly. Ale mne zarazi ze nefunguji ani veci od tud to je pro mne zahada kdyz neco delam blbe zajima mne co?

Editováno 4.5.2013 0:07
 
Odpovědět 4.5.2013 0:05
Avatar
h.honzicek
Člen
Avatar
Odpovídá na h.honzicek
h.honzicek:4.5.2013 0:27

Asi to spatne importuju mne nejde nic zkompilovat bud je to nekompatibilita s Winama 64 nebo chyba nekde v nastaveni Nejdou vubec zadny aplikace jeste zkusim vytvirit prazdnou win32 aplikace a znova zkompilovat tak tady to jde tak tedy asi delam chybu v importu či v necem jinym

Editováno 4.5.2013 0:29
 
Odpovědět 4.5.2013 0:27
Avatar
h.honzicek
Člen
Avatar
Odpovídá na h.honzicek
h.honzicek:4.5.2013 0:42

jj delam chybu ale nemohu zjistit kterou ja nejdrive potrebuju naimportovat jiz nejaky zdrojovy kod abych pochopil jak to v tom céčku jede tak jsem se naučil i GameMaker zjistil jsem na jake bazi to funguje podle zdrojovich kodu z tutorů a ted uz si udelam libovolnou hru v gm i adventuru i strilecku 2D i 3D ted stejnym spusobem potrebuju naučit céčko protože pokud nedokážu naimportovat projekt například z dev-c++ do visual c++ pak nemuzu ani normalne prograqmovat

 
Odpovědět 4.5.2013 0:42
Avatar
Maxfx
Redaktor
Avatar
Odpovídá na h.honzicek
Maxfx:4.5.2013 10:16

jsi nějaký zmateny GM a C++ jsou nebe a dudy , pokud chceš naprogramovat 2D nebo 3D v C++ tak budeš muset použít nějakou knihovnu bud DirectX nebo OpenGl atd je toho tuna ale připrav si matematiku od vektorů výš aby jsi věděl jak to funguje.Mám taky 64bit a funguje to v pohodě podívej se ponějakých tutorialech po netu tak jsem taky začínal.Nauč se nejdřív dobře základy , protože stejně zjistíš , že se bez nich neobejdeš.Co se týče frameworku , tak v podstatě to co napíšeš a používáš do kola je podstatě framework.

Odpovědět 4.5.2013 10:16
Být ovládán znamená být sledován, pod dohledem, špehován, veden, uzákoněn, reglementován, ohrazen, indoktrinován, pře...
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na h.honzicek
David Čápka:4.5.2013 10:19

Místo těch románů si stáhni Visual Studio 2010 a dej si do něj XNA :)

Odpovědět  +2 4.5.2013 10:19
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Maxfx
Redaktor
Avatar
Odpovídá na David Čápka
Maxfx:4.5.2013 10:20

Nebo tak :D :D

Odpovědět 4.5.2013 10:20
Být ovládán znamená být sledován, pod dohledem, špehován, veden, uzákoněn, reglementován, ohrazen, indoktrinován, pře...
Avatar
h.honzicek
Člen
Avatar
h.honzicek:4.5.2013 13:02

jj ja mel v Basicu take neco jako frameworky, ale jinak formulovane kdo proste chtel muj programek pouzivat nemusel davat zadne dalsi knihovny do pocitace protoze v te dobe se to dalo nakompilovat přímo do jednoho nebo nekolika exeček v jednom adresáři. Proste jsem mel exe soubor ktery obsahoval nejakou cinost nebo BAS a tu jsem zavolal podobne jako kdyz v davce .bat zavolam jinou davku pomocí call příklad call copy.bat

Editováno 4.5.2013 13:03
 
Odpovědět 4.5.2013 13:02
Avatar
Maxfx
Redaktor
Avatar
Odpovídá na h.honzicek
Maxfx:4.5.2013 13:15

Tak dneska můžeš mít taky vše v jednom souboru

Odpovědět 4.5.2013 13:15
Být ovládán znamená být sledován, pod dohledem, špehován, veden, uzákoněn, reglementován, ohrazen, indoktrinován, pře...
Avatar
ivan
Člen
Avatar
ivan:25.5.2014 0:28

No výborně, to je přesně to co potřebuju! 8|

 
Odpovědět 25.5.2014 0:28
Avatar
Tomáš Žilínek:6.8.2016 21:54

Ahoj, mám taký problém. Keď dám v mojom projekte v časti: (Project -> Propreties -> Linker -> Input allp.lib pro Debug a alleg.lib pro Release) allp.lib pre Debug, ako je vlastne napísané v tutoriále, tak mi vypíše error LNK1104: cannot open file "allp.lib". Keď mi s tým niekto viete pomôcť, bol by som rád. Inak kód mám v poriadku tak, ako je na tejto stránke. Keď som dal hľadať allp.lib v priečinku allegro 4.2.2, tak ho nájde, takže tam je ale prečo ho nedokáže nájsť VS nechápem. Mám dať do Inputu celý Path, alebo čo?! Popredu ďakujem za odpovede. :D

 
Odpovědět 6.8.2016 21:54
Avatar
Odpovídá na Tomáš Žilínek
Tomáš Žilínek:6.8.2016 22:02

Hlavný problém vyriešený, ale nastal ďalší, keď dám spustiť aplikáciu, tak mi vyhodí okno: the program cant start because allp42.dll is missing from your computer. Try reinstalling the program to fix this problem. Ale znovu, allp42.dll v počítači mám!!!

Editováno 6.8.2016 22:04
 
Odpovědět 6.8.2016 22:02
Avatar
patrik.valkovic
Šéfredaktor
Avatar
Odpovídá na Tomáš Žilínek
patrik.valkovic:7.8.2016 10:46

Zkus ho nakopírovat na stejné místo, kde je ten exe soubor, potom by to mělo jít.

Odpovědět 7.8.2016 10:46
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Odpovídá na patrik.valkovic
Tomáš Žilínek:7.8.2016 17:13

Ďakujem, problém vyriešený. :D

 
Odpovědět  +1 7.8.2016 17:13
Avatar
Matus Mundok
Člen
Avatar
Matus Mundok:24.4.2017 20:19

Neni nejaká možnosť ako nainstalovat allegro do visual studia 2017? Skusal som aj tento tutorial a nic...

 
Odpovědět 24.4.2017 20:19
Avatar
Maxfx
Redaktor
Avatar
Odpovídá na Matus Mundok
Maxfx:19.7.2017 22:54

Jo tento pokus o hru už je trochu starý takže jsi nejsem uplně jistý.

Odpovědět 19.7.2017 22:54
Být ovládán znamená být sledován, pod dohledem, špehován, veden, uzákoněn, reglementován, ohrazen, indoktrinován, pře...
Avatar
Lukáš Labor:2. března 11:19

Nešlo by dát nějaký návod na installaci allegra v code blocks, zkoušel jsem nějaké návody z youtube, ale ani jeden nefungoval, když už kompilátor přestal hlásit chybu stejně na tom žádný vzorový program odsud nešel

 
Odpovědět 2. března 11:19
Avatar
Ondřej Fiala:19. května 22:45

Tato knihovna je v dnešní době již vcelku zastaralá. Co se týče her a takovýchto věcí, tak je mnohem lepší OpenGL.

Editováno 19. května 22:46
Odpovědět 19. května 22:45
Jestli v životě najdeš cestu bez překážek, určitě nikam nevede. -Arthur C. Clarke
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Ondřej Fiala
David Čápka:20. května 15:57

Ahoj, Allegro je stále aktivní, navíc OpenGL není knihovna, ale API. Můžeš uvést konkrétní důvody proč by měla být zastaralá?

Odpovědět 20. května 15:57
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Odpovídá na David Čápka
Ondřej Fiala:20. května 19:11

Dobře, uznávám že OpenGL není tradiční knihovna, ale jako knihovna to většinou funguje. Co se týče allegra: 0. Zastaralé není to nejlepší slovo. 1. Struktura API Allegra se mi moc nelíbí. 2. Podle mě je lepší používat rovnou OpenGL nebo DirectX. Allegro je podle mě zbytečná úroveň abstrakce. Tohle je můj osobní názor, ale jsem si jistý, že není jenom můj.

Odpovědět  -1 20. května 19:11
Jestli v životě najdeš cestu bez překážek, určitě nikam nevede. -Arthur C. Clarke
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 30 zpráv z 30.