|
[Grafika]
[WebTip]
[Fotografování]
[Galerie]
[MujMac]
[Printing]
|
|||||||||
|
|
||||||||||
|
|
|||||||||
|
O co vlastně jde?Určitě každý z vás se s nimi již setkal. Jenom to nemuselo být při programování her, ale spíše při hraní. Velké společnosti si píší sami algoritmus a strukturu těchto souborů. Ale teď k tomu co to vlastně je a jak vám to může pomoci při programování her nebo čehokoliv jiného? Například hrajete hru, která má hodně grafiky i hodně hudby, ale nikde soubory typu bmp nebo jpg či wav nebo mp3 nemůžete najít Kam se poděly? Místo toho je zde kromě exe souboru hry ještě jeden soubor, který má například koncovku dat a je obrovský co do velikosti v MB. No a právě v tomto souboru je vše vhodně uspořádáno a navíc zabaleno (tedy zmenšen obsah). A tuto možnost Allegro i vám standardně nabízí. A my si v dnešním díle popíšeme základní rysy těchto souborů a taky se seznámíme s potřebnými nástroji, které budete potřebovat. To vše je součástí Allegra. Malý příkladZde si popíšeme krok po kroku příklad, jak vytvořit datový soubor, ve kterém bude jedna bitmapa a kterou později v programu zobrazíme na obrazovku. Jako obrázek jsem použil screenshot z minulého dílu, kde byly malé lítající čtverečky. Programy pro práci s datovými soubory jsou umístěny v adresáři tools v Allegru. My dnes budeme používat pouze soubory grabber.exe a dat.exe. (Popis funkcí naleznete v souboru grabber.txt a zdrojový soubor ve stejném adresáři pod jménem grabber.c a dat.c, ale ke většině se ještě v našem seriálu dostaneme.) Vytvoření datového souboruPokud máte vše připraveno pustíme se do samotného vytváření datového souboru. Po spuštění programu grabber.exe se dostanete do tzv. vývojového prostředí kde v klidu myší uděláte to co potřebujete. My budeme postupovat krok za krokem, kde jednotlivé kroky budou očíslovány. Pro jistotu zahrnu i spuštění a navíc, když se seznamuje s tímto nástrojem poprvé, budu se obzvlášť rozepisovat pokud to bude nezbytně nutné. 1. Spustit program grabber.exe v adresáři allegro/tools. Poté se vám
automaticky spustí nový projekt. Tímto jste (i já) vytvořili datový soubor, ve kterém je jeden soubor s obrázkem. Již za chvilku si povíme o tom jak ho načíst do programu. Ještě malinká úpravaV programu se k objektům z datového souboru můžete dostat buď přes indexy jako 0,1,2 atd. anebo přes jména. V našem případě POKUS. Nejprve si tedy musíme vytvořit hlavičkový soubor se jmény. To není problém, protože máme k dispozici program dat.exe, který nyní použijeme. Pokud se váš datový soubor jmenuje pokus.dat a máte ho umístěný ve stejném adresáři jako soubor dat.exe stačí na příkazovou řádku napsat tento příkaz: dat.exe pokus.dat -h pokus.h a měl by se vám vygenerovat soubor pokus.h. který mimo komentáře obsahuje podobnou řádku jako je tato: #define POKUS 0 /* BMP */ Samotný programA nyní se již podíváme na to jak vypadá samotný program.
Popis programuNesmíme zapomenout includovat soubor pokus.h, abychom měli přístup k datům pomocí jmen v našem datové souboru. Hned na začátku funkce main si vytvoříme proměnnou typu DATAFILE nebo lépe ukazatel na DATAFILE pojmenujeme ji například *datafile. Příkaz load_datafile nám načte ukazatel na datový soubor do proměnné datafile. Jako parametr bere samozřejmě jméno datového souboru souboru. Ještě před použitím otestujeme zda se datový soubor správně načetl, abychom se případně později vyhnuli padání nebo špatné funkci programu. blit((BITMAP *) datafile[POKUS].dat, screen, 0, 0, 0, 0, 640, 480); Tento příkaz je vám velice známy až na první parametr. Formát vybírání z datového souboru je tento: jmeno_promenne[jmeno_objektu].dat Tedy jmeno_promenne je datafile a jmeno_objektu je POKUS. Přetypování (BITMAP *) je z toho důvodu, že funkce datového souboru vrací void* tak aby nedošlo k nesprávnému předání parametrů. To je pro dnešek vše. Příště si povíme o datových souborech více do hloubky. Můžete se mezitím podívat na příklad exdata v adresáři allegro/examples. Zdrojový soubor k příkladu si můžete stáhnout zde. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||