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? 😕


Anmelden zum Antworten