Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Iscrtavanje teksta na ekran u SDL

[es] :: GameDev - Razvoj Igara :: Iscrtavanje teksta na ekran u SDL

[ Pregleda: 2329 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Mr. Rejn
Deki Karamatijević
Sremčica

Član broj: 2514
Poruke: 515
*.dynamic.sbb.rs.



+4 Profil

icon Iscrtavanje teksta na ekran u SDL17.11.2009. u 17:09 - pre 174 meseci
Imam klasu Button i klasu Text.U klasi Button akcijom dugmeta:
Code:

...
if( event.type == SDL_MOUSEBUTTONDOWN )
    {
        if( event.button.button == SDL_BUTTON_LEFT )
...

pravim objekat Text-a,koji zatim ucitava font i prikazujem text na ekran:
Code:

Text mojText;
mojText.load_font();
mojText.show_text("Neki text.");
SDL_Flip(screen);

Sad,tekst se prikazuje samo delic sekunde (valjda 1 frejm).Kada posle SDL_Flip
stavim sleep(2) tekst ostaje dve sek. zatim nestaje - dakle pitanje je kako da ostane tu gde je bez nestajanja. Naravno dok je tekst iscrtan tokom te dve sek. ceo ekran je zablokiran.

Nov sam u SDL pa ne poznajem njegov nacin rada dobro.
Ag + Na -> Xe
 
Odgovor na temu

dobrota

Član broj: 130449
Poruke: 199
194.106.174.*



+2 Profil

icon Re: Iscrtavanje teksta na ekran u SDL17.11.2009. u 21:36 - pre 174 meseci
Ako tek pocinjes sa SDL-om imas sjajne tutoriale ovde http://lazyfoo.net/SDL_tutorials/index.php . Doduse pisano je sve u C++-u, a vidim ti si radio u C#-u zar ne?? Konkretno za tekst evo ti linka http://lazyfoo.net/SDL_tutorials/lesson07/index.php .
3x Osc
 
Odgovor na temu

pricadarko
Darko Prica
Novi Sad

Član broj: 105564
Poruke: 14
*.dynamic.sbb.rs.



Profil

icon Re: Iscrtavanje teksta na ekran u SDL17.11.2009. u 21:57 - pre 174 meseci
Problem koji imas je izazvan time sto ti se kod izvrsi samo jednom i nakon toga nema sta da bude iscrtano na ekranu. Poenta u crtanju sa SDL i slicnim graphic engine-ima je da ono sto zelis da crtas na ekranu mora biti konstantno iscrtavano. Drugim recima, treba ti while petlja unutar koje ce biti izvrsavan kod sve dok ti ne kazes drugacije, tj. dok ne prekines pomenutu while petlju (npr. pritiskom na tastaturi Esc). Naredba sleep koju si koristio sluzi da saceka neki period pa je zato ekran bio 2 sekunde zamrznut. Ja sam slicnu naredbu koristio u C++ kad sam hteo da podesim FPS, da mi se igrica izvrsava na manjem FPS, ali ovde ti trenutno nije potrebna.
 
Odgovor na temu

Mr. Rejn
Deki Karamatijević
Sremčica

Član broj: 2514
Poruke: 515
*.dynamic.sbb.rs.



+4 Profil

icon Re: Iscrtavanje teksta na ekran u SDL18.11.2009. u 10:46 - pre 174 meseci
Citat:
dobrota: Ako tek pocinjes sa SDL-om imas sjajne tutoriale ovde http://lazyfoo.net/SDL_tutorials/index.php . Doduse pisano je sve u C++-u, a vidim ti si radio u C#-u zar ne??

Ne, ovo je C++ na linuxu.Znam za te tutorijale, bas iz njih ucim ovo.

Citat:
pricadarko: Problem koji imas je izazvan time sto ti se kod izvrsi samo jednom i nakon toga nema sta da bude iscrtano na ekranu. Poenta u crtanju sa SDL i slicnim graphic engine-ima je da ono sto zelis da crtas na ekranu mora biti konstantno iscrtavano.

Da shvatio sam to,recimo ovaj objekat klase Button je instanciran pre petlje a prikazan sa show() u glavnoj while petlji i to ga stalno iscrtava na ekran. A ovaj text nije. Cilj mi je da akcijom tog dugmeta prikazem text kao surface na ekran i on ostane tu. Znaci da tako kazem 'dinamicki',iz nekog drugog objekta. Neznam dal je to uopste moguce sa ovim?
Ag + Na -> Xe
 
Odgovor na temu

pricadarko
Darko Prica
Novi Sad

Član broj: 105564
Poruke: 14
77.46.214.*



Profil

icon Re: Iscrtavanje teksta na ekran u SDL18.11.2009. u 15:52 - pre 174 meseci
Jedno od resenja je da klikom na dugme kontrolises neku promenljivu, npr. boolean showText, i menjas vrednost true/false a u petlji bi se tekst iscrtavao samo ako je showText true.
 
Odgovor na temu

[es] :: GameDev - Razvoj Igara :: Iscrtavanje teksta na ekran u SDL

[ Pregleda: 2329 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.