Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Hanz...SDL
Založen: 19. 11. 2009 Příspěvky: 24
|
Zaslal: 20. listopad 2009, 23:03:31 Předmět: Vypsání bodů na obrazovku |
|
|
Chtěl bych se vás zeptat jak ve hrách vykreslujete body(skóre) na obrazovku?? já to vykresluju ve svý hře pomocí SDL_ttf.h, ale zdá se mi to takový neohrabaní vykreslovat každej bod zvlášt...jaký na to máte názory a jak vykreslujete body(skóre) vy??
Díky za všechny odpovědi... |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 20. listopad 2009, 23:05:00 Předmět: |
|
|
Co myslíš tím "každý bod zvlášť"? _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
Hanz...SDL
Založen: 19. 11. 2009 Příspěvky: 24
|
Zaslal: 21. listopad 2009, 07:55:43 Předmět: |
|
|
if (pocet_bodu == 0) {
body = TTF_RenderText_Solid(font, "0 bodu", col);
if (body != NULL) {
SDL_BlitSurface(body, NULL, screen, &rect_bodu);
SDL_FreeSurface(body);
}
}
if (pocet_bodu == 1) {
body = TTF_RenderText_Solid(font, "1 bod", col);
if (body != NULL) {
SDL_BlitSurface(body, NULL, screen, &rect_bodu);
SDL_FreeSurface(body);
}
}
atd. až do 62... |
|
Návrat nahoru |
|
 |
MD

Založen: 29. 07. 2007 Příspěvky: 437 Bydliště: Praha
|
Zaslal: 21. listopad 2009, 09:39:42 Předmět: |
|
|
Jedna z moznosti:
kód: |
char buff[32];
sprintf_s(buff, "%i bodu", pocet_bodu);
body = TTF_RenderText_Solid(font, buff, col);
|
[OT]Doufam, ze jsem se teda nechytil na nejakej povedenej zertik [/OT]
Jinak pokud chces mit spravne cestinu "bodu, bod, body", tak to jeste rozdel na tyto 3 pripady pomoci ifu.
Poznamka, kdyby tve C/C++ neznalo sprintf_s, tak postaci sprintf. _________________ - play with objects - www.krkal.org - |
|
Návrat nahoru |
|
 |
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 21. listopad 2009, 09:56:37 Předmět: |
|
|
PRESUNUTO: do 3D API, kam to patri jakozto graficky problem
P.S. autore - mame tu tag CODE - viz prispevek od MD  |
|
Návrat nahoru |
|
 |
Hanz...SDL
Založen: 19. 11. 2009 Příspěvky: 24
|
Zaslal: 21. listopad 2009, 10:58:19 Předmět: |
|
|
MD napsal: |
Jedna z moznosti:
kód: |
char buff[32];
sprintf_s(buff, "%i bodu", pocet_bodu);
body = TTF_RenderText_Solid(font, buff, col);
|
[OT]Doufam, ze jsem se teda nechytil na nejakej povedenej zertik [/OT]
Jinak pokud chces mit spravne cestinu "bodu, bod, body", tak to jeste rozdel na tyto 3 pripady pomoci ifu.
Poznamka, kdyby tve C/C++ neznalo sprintf_s, tak postaci sprintf. |
jj díky moc...se sprintf_s to nešlo ale s sprintf to jde v pohodě...tohle mi ušetřilo cca 1000 řádků  |
|
Návrat nahoru |
|
 |
Tutchek
Založen: 28. 07. 2007 Příspěvky: 140 Bydliště: Praha -Pankrác
|
Zaslal: 21. listopad 2009, 11:14:57 Předmět: |
|
|
Hanz...SDL napsal: |
jj díky moc...se sprintf_s to nešlo ale s sprintf to jde v pohodě...tohle mi ušetřilo cca 1000 řádků  |
kód: |
if (pocet_bodu > 1000) {
body = TTF_RenderText_Solid(font, "Moc bodu", col);
if (body != NULL) {
SDL_BlitSurface(body, NULL, screen, &rect_bodu);
SDL_FreeSurface(body);
}
}
|
_________________ Nemarni čas u kompu, pojď si zaběhat do lesa
function god_exists() { return false; } |
|
Návrat nahoru |
|
 |
franz
Založen: 30. 07. 2007 Příspěvky: 1325
|
Zaslal: 21. listopad 2009, 12:17:20 Předmět: |
|
|
ještě abys obešel skloňovaní lze "%i bodu" nahradit třeba "body: %i" |
|
Návrat nahoru |
|
 |
Hanz...SDL
Založen: 19. 11. 2009 Příspěvky: 24
|
Zaslal: 21. listopad 2009, 12:29:55 Předmět: |
|
|
franz napsal: |
ještě abys obešel skloňovaní lze "%i bodu" nahradit třeba "body: %i" |
jj dík za radu...ale už to mám udělaný že to skloňuju...  |
|
Návrat nahoru |
|
 |
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 21. listopad 2009, 14:16:21 Předmět: |
|
|
ad sprintf_s - nepodelil ses co mas za kompiler - ty _s verze jsou M$VC++ specific - existuje taky treba snprintf - o tom jaky je v nich rozdil se doctes treba na googlu... |
|
Návrat nahoru |
|
 |
Hanz...SDL
Založen: 19. 11. 2009 Příspěvky: 24
|
Zaslal: 21. listopad 2009, 15:01:48 Předmět: |
|
|
používám C::B...a sprintf znám ale nějak mě to nenapadlo ho použít...  |
|
Návrat nahoru |
|
 |
|