Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
frca

Založen: 28. 07. 2007 Příspěvky: 1561
|
Zaslal: 24. srpen 2007, 00:06:49 Předmět: |
|
|
Nepíšu, že to má být v jiné sekci, ale že tu na to má být jiná sekce  |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 24. srpen 2007, 01:44:37 Předmět: |
|
|
Myslel jsem, ze na knihovny je tady sekce Obecne. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
frca

Založen: 28. 07. 2007 Příspěvky: 1561
|
Zaslal: 24. srpen 2007, 11:06:37 Předmět: |
|
|
"Vše o programování, algoritmech a programovacích jazycích, které nemají vlastní sekci"
Kde tam vidíš ty knihovny? Když teda, tak to chce připsat, protože to evidentně spousta lidí (včetně mě) tak automaticky nebere.
Ale jako no flame, jedná se mi o zvýšení úrovně sekce C++, protože sem to opravdu nepatří. |
|
Návrat nahoru |
|
 |
Malek
Založen: 07. 10. 2007 Příspěvky: 11 Bydliště: Hradec Kralove
|
Zaslal: 17. prosinec 2007, 12:54:10 Předmět: SDL_CraeteRGBSurface() |
|
|
Ahoj ,potřebuju vytvořit Surface, do kterého budu vykreslovat části jiného Surface který je vytvořen z image. Můj předpoklad je takový , že při :
kód: |
SDL_CraeteRGBSurface(SDL_SWSURFACE,100,50,255,0,0,0) ; |
se mi vytvoří červený obdelník 100x50.Mno ale jak už to tak bývá tak se mi nevykreslí nic:
kód: |
SDL_Surface * txtbutsurf[4]//je soukromé pole ukazatelů třídy
...
//ve fci třídy:
Uint32 rmask, gmask, bmask, amask;
rmask = 255;
gmask = 100;
bmask = 101;
amask = 100;
txtbutsurf[0] = SDL_CreateRGBSurface(SDL_SWSURFACE, 100, 24, SCREEN_DEPTH,rmask, gmask, bmask, amask);
//vykreslení:
void Draw(int x,int y, SDL_Surface * sr,SDL_Surface * dest)
{
SDL_Rect of;
of.x = x;
of.y = y;
if(SDL_BlitSurface(sr,NULL,dest,&of) < 0)
{
std::cerr << "Error - (Draw: SDL_BlitSurface < 0 )Can not Blit !\n";
}
}
void ImageTextButton::Show()
{
Draw(bgpos.x,bgpos.y,txtbutsurf[status],screen);
Draw(txtpos.x ,txtpos.y ,txtbutsurf[2+status],screen);
}
|
Kde je chyba?CreateRGBSurface - rozumím tomu správně?Díky za pomoc? _________________ Novice , začínám v C++ a SDL . |
|
Návrat nahoru |
|
 |
josh
Založen: 30. 07. 2007 Příspěvky: 74
|
Zaslal: 17. prosinec 2007, 13:42:24 Předmět: |
|
|
nastav of.w a of.h (zrejme jsou 0, nebo jinej bordel) _________________ Tak Karle, kolik? |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 17. prosinec 2007, 15:18:16 Předmět: |
|
|
nie nemozes to pouzit tak ako to mas.
kód: |
rmask = 0xff000000;
gmask = 0x00ff0000;
bmask = 0x0000ff00;
amask = 0x000000ff;
surface = SDL_CreateRGBSurface(SDL_SWSURFACE, 100,50, 32, rmask, gmask, bmask, amask);
|
alebo dat same nuly
kód: |
surface = SDL_CreateRGBSurface(SDL_SWSURFACE, 100,50, 32, 0,0,0,0); |
http://www.root.cz/clanky/sdl-hry-nejen-pro-linux-5/
http://www.root.cz/clanky/sdl-hry-nejen-pro-linux-6/ _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
Malek
Založen: 07. 10. 2007 Příspěvky: 11 Bydliště: Hradec Kralove
|
Zaslal: 18. prosinec 2007, 22:33:59 Předmět: |
|
|
RE :Josh : To je vpořádku ve 4 argumentu jsou of.w a of.h ignorovány.
RE : nou : Takhle sem to právě měl .
Nemusí se tam prohodit ještě buffery nebo něco odemknout ?
EDIT: I po vykreslování SDL_Surface::pitch je roven 0 , což je šířka uvedená v bajtech.To je asi chyba...
EDIT2:AHA ,stačilo použít :
kód: |
txtbutsurf[0] =SDL_DisplayFormat(txtbutsurf[0]);
|
a vše funguje , ale proč si to nepřeformátovalo samo ??
EDIT3: bez memory leaků :
kód: |
temp = SDL_CreateRGBSurface(SDL_SWSURFACE, 100, 24, SCREEN_DEPTH,0,0,0,0);
txtbutsurf[0] = SDL_DisplayFormat(temp);
SDL_FreeSurface(temp) |
_________________ Novice , začínám v C++ a SDL . |
|
Návrat nahoru |
|
 |
Malek
Založen: 07. 10. 2007 Příspěvky: 11 Bydliště: Hradec Kralove
|
Zaslal: 27. prosinec 2007, 02:01:17 Předmět: Jak a kdy správně čistit? |
|
|
Ahoj,potřeboval bych vědět kdy používat SDL_FreeSurface(),TTF_CloseFont() a MIX_CloseAudio() ,když jsou použity jako soukromé položky třídy.Při použití v destruktorech mi to vždy dělalo problémy . _________________ Novice , začínám v C++ a SDL . |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 27. prosinec 2007, 10:08:18 Předmět: |
|
|
no ich pouzitie je podobne ako free() alebo fclose() a v com presne to robilo problemy. jedine co ma napda je to ze si chcel pouzit ten surface alebo font potom co si ho uzavrel. _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
Malek
Založen: 07. 10. 2007 Příspěvky: 11 Bydliště: Hradec Kralove
|
Zaslal: 12. leden 2008, 10:44:22 Předmět: |
|
|
Nevítě někdo ,jak zrcadlově převrátit surface nebo načíst image převráceně? _________________ Novice , začínám v C++ a SDL . |
|
Návrat nahoru |
|
 |
Weny Sky

Založen: 28. 07. 2007 Příspěvky: 241
|
|
Návrat nahoru |
|
 |
|