[1] Allegro - ispis teksta na ekranu

[1] Allegro - ispis teksta na ekranu

offline
  • Més que un club
  • Glavni vokal @ Harpun
  • Pridružio: 27 Feb 2009
  • Poruke: 3895
  • Gde živiš: Novi Sad,Klisa

Sledeća stavka koju ću obrađivati u Allegro tutorijalu jeste štampanje teksta na ekran.

Tekst je izuzetno bitan za gaming, zato sto se uz pomoc teksta ispisuje meni na ekranu, uz pomoc teksta se mogu pisati price koje se tiču same igre, i dr...



Citat:
#include<allegro.h>

#define SIRINA_EKRANA 800
#define VISINA_EKRANA 600

/* Ove dve globalne promenljive uvodimo iz prostog razloga sto ce nam u daljem programiranju u Allegru visina i sirina ekrana mnogo znaciti.
Vi sami ne morate to raditi, no preporučujem vam da to radite, kako biste u toku daljeg programiranja ustedeli vreme.
Npr cesto se desi da zaboravite koliki su vam sirina i visna ekrana, a zelite da vam tekst ili vas lik bude tacno na sredini ekrana. Stoga sam uveo ove konstante.*/


int main()
{
allegro_init();
install_keyboard();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT_WINDOWED, SIRINA_EKRANA, VISINA_EKRANA, 0, 0);
set_window_title("Lekcija 2");

//Standardne funkcije za inicijalizaciju, koje smo obradili u prosloj lekciji

//Tekst se ispisuje pozivom funkcije textout



textout(screen, font, "Zdravo svete!", 300, 325,makecol(255, 0, 0));

/*Prvi parametar funkcije trazi u koju BITMAPu zelimo nas tekst da upisem, Allegro ima ugradjenu bitmapu koja se zove screen
i ona predstavlja sam ekran.

Sledeci parametar je koji font zelimo da stavimo. Posto jos ne znamo kako mozemo da stavimo sopstveni font koristicemo ugradjeni
font u Allegru koji se poziva tako sto se u drugi parametar upise rec font.

U trecem parametru pod znake navoda stavimo sta zelimo da napisemo na ekran

U cetvrtom i petom parametru postavljamo na kojim koordinatama ekrana zelimo da nam se tekst ispise.

U poslednjem parametru upisujete koje boje zelite da vam bude tekst. To cete uraditi tako sto cete upisati makecol() i tu stavljati boje.
Kao sto je poznato, u racunarskoj tehnici se koriste crvena(Red), zelena(Green) i plava(Blue) boja za prikaz teksta. Stoga parametri makecol funkcije moraju
biti intenziteti ovih boja. Ukoliko se tesko snalazite, ostavite komentar, pa cu vam dobijanje boja detaljnije objasniti */

//Ukoliko zelite da promenite i boju pozadine na kojoj se tekst nalazi, to mozete uraditi dodavanjem _ex ispred funkcije textout



textout_ex(screen, font, "Zdravo svete!", 400, 400,makecol(255, 0, 0), makecol(0, 0,255));

//Boju pozadine dobijate na isti nacin kao sto ste dobili i boju samog teksta

//Ukoliko zelite da centrirate tekst na odredjenu koordinate (isto kao Wordu ili nekim drugim editorima za obradu teksta), koristite funkciju textout_centre


textout_centre(screen, font, "Zdravo svete!", SIRINA_EKRANA/2-100, VISINA_EKRANA/2-100, makecol(0,0,243));

//Kao i kod obicnog textout-a, i ovde, ukoliko zelite da imate pozadinu kod vaseg teksta, samo posle centre dodajte _ex

textout_centre_ex(screen, font, "Zdravo svete!", SIRINA_EKRANA/2, VISINA_EKRANA/2, makecol(0,0,243), makecol(255, 0, 0));

readkey();
allegro_exit();

return 0;
}
END_OF_MAIN()



Credits: Srki_82 Ziveli


Pitanja su dobrodosla Smile



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 612 korisnika na forumu :: 50 registrovanih, 4 sakrivenih i 558 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 1567 - dana 15 Jul 2016 19:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: _Sale, A.R.Chafee.Jr., ALBION101, amir3045, awathorn, Bane san, bojank2, bulovic, cavatina, Cufo, dakota, darkangel, Davor Kondic, dragisa dragisa, dragoljub11987, Drug pukovnik, goxin, GreenMan, hyla, jovan.krcmar, Kubovac, ljuba sd, lord sir giga, MB120mm, Mercury2, milandlc84.wow, Mixelotti, operniki, ostoja, pein, perko91, Regrut Boskica, Ričard, royst33, saputnik plavetnila, shone34, Sibin, slonic_tonic, Sr.Stat., StefanNBG90, suton2, time, uruk, USSVoyager, Vlada1389, vlvl, voja64, Vojkan Petrovic, White Knight, zoranlik