SDL get_pixel problem
-
jau danke habs gecheckt...kannst mir trotzdem sagen, warum das blitten nicht geht ?
-
Nicht ohne den Code zu sehen

-
jo, code so wie eben, mit ner 32 bit bitmap und
SDL_Rect ir; ir.x = 0; ir.y = 0; ir.w = MAP_WIDTH; ir.h = MAP_HEIGHT; SDL_Rect sr; sr.x = 0; sr.y = 0; sr.w = SCREEN_WIDTH; sr.h = SCREEN_HEIGHT; SDL_BlitSurface(cMap.mapImage, &ir, screen, &sr); //apply_surface( 0, 0, pSurface, screen ); if( SDL_Flip( screen ) == -1 ) { return 1; }in der hauptprogrammschleife
edit:
if(SDL_BlitSurface(cMap.mapImage, &ir, screen, &sr) != 0) { return 1; }bricht NICHT ab Oo
-
Du versuchst, die komplette Map - die größer ist als der Bildschirm (wie ich annehme) - auf den Bildschirm zu blitten. Ändere dein Source-Rectangle mal so, dass es höchstens so groß wie der Bildschirm ist.
Daran könnte es liegen ...
-
TomasRiker schrieb:
Du versuchst, die komplette Map - die größer ist als der Bildschirm (wie ich annehme) - auf den Bildschirm zu blitten. Ändere dein Source-Rectangle mal so, dass es höchstens so groß wie der Bildschirm ist.
Daran könnte es liegen ...ist es doch
ir.w = MAP_WIDTH; ir.h = MAP_HEIGHT;
-
Benutze anstatt Rects einfach mal NULL. Ich glaube das sollte gehen, wenn du das ganze Bild blitten willst.
-
das bild ist aber grösser als mein fenster
-
Hast du's probiert?
-
Stefan schrieb:
Hast du's probiert?
ja
-
pixartist schrieb:
TomasRiker schrieb:
Du versuchst, die komplette Map - die größer ist als der Bildschirm (wie ich annehme) - auf den Bildschirm zu blitten. Ändere dein Source-Rectangle mal so, dass es höchstens so groß wie der Bildschirm ist.
Daran könnte es liegen ...ist es doch
ir.w = MAP_WIDTH; ir.h = MAP_HEIGHT;Nö. Ist größer als der Bildschirm (es sei denn dein Bildschirm hat mehr als 2000 Pixel in der Horizontalen).
-
TomasRiker schrieb:
pixartist schrieb:
TomasRiker schrieb:
Du versuchst, die komplette Map - die größer ist als der Bildschirm (wie ich annehme) - auf den Bildschirm zu blitten. Ändere dein Source-Rectangle mal so, dass es höchstens so groß wie der Bildschirm ist.
Daran könnte es liegen ...ist es doch
ir.w = MAP_WIDTH; ir.h = MAP_HEIGHT;Nö. Ist größer als der Bildschirm (es sei denn dein Bildschirm hat mehr als 2000 Pixel in der Horizontalen).
ups denkfehler...
SDL_Rect ir; ir.x = 0; ir.y = 0; ir.w = SCREEN_WIDTH; ir.h = SCREEN_HEIGHT; SDL_Rect sr; sr.x = 0; sr.y = 0; sr.w = SCREEN_WIDTH; sr.h = SCREEN_HEIGHT; if(SDL_BlitSurface(cMap.mapImage, &ir, screen, &sr) != 0) { return 1; }geht allerdings auch nicht
edit: soll ich dir mal den ganze code geben?
