Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SDL] Przeźroczystość

Ostatnio zmodyfikowano 2011-01-27 18:42
Autor Wiadomość
absflg
Temat założony przez niniejszego użytkownika
» 2011-01-25 22:28:01
Nie zmieniam. Posługuję się nawet tą samą zmienną co podczas zalewania obszaru kolorem.
P-27067
DejaVu
» 2011-01-25 22:35:20
A jak wygląda zamalowywanie tym różowym kolorem?
P-27068
absflg
Temat założony przez niniejszego użytkownika
» 2011-01-25 22:50:05
C/C++
{
    SDL_Rect r;
    Uint32 col;
    col = SDL_MapRGB( this->mask->format, 0xff, 0x00, 0xff );
    r.x = 0; r.y = 0;
    r.w = this->mask->w;
    r.h = this->mask->h;
    SDL_FillRect( this->mask, & r, col );
}
P-27069
DejaVu
» 2011-01-25 22:52:12
Jeżeli masz czas poczekać do jutra to zainstaluję sobie SDL'a i napiszę sampla ;p bo tak to będziemy jeszcze godzinę wymieniać się postami (w najlepszym wypadku) :)
P-27070
DejaVu
» 2011-01-26 00:18:16
C/C++
#include <SDL/SDL.h>
#include <windows.h>

int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int )
{
    SDL_Init( SDL_INIT_EVERYTHING );
    SDL_Surface * ekran = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE );
    SDL_Surface * tapeta = SDL_LoadBMP( "tapeta.bmp" );
    SDL_Surface * obraz = SDL_LoadBMP( "obraz.bmp" );
    Uint32 col = SDL_MapRGB( obraz->format, 0x00, 0x00, 0x00 );
    SDL_SetColorKey( obraz, SDL_SRCCOLORKEY | SDL_RLEACCEL, col );
    SDL_BlitSurface( tapeta, NULL, ekran, NULL );
    SDL_BlitSurface( obraz, NULL, ekran, NULL );
    SDL_Flip( ekran );
    SDL_Delay( 2000 );
    SDL_Quit();
    return 0;
}
W powyższym kodzie przezroczystość u mnie działa.

/edit:
A poniższy kod wycina dziurę w środku:
C/C++
#include <SDL/SDL.h>
#include <windows.h>

int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int )
{
    SDL_Init( SDL_INIT_EVERYTHING );
    SDL_Surface * ekran = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE );
    SDL_Surface * tapeta = SDL_LoadBMP( "tapeta.bmp" );
    SDL_Surface * obraz = SDL_LoadBMP( "obraz.bmp" );
    Uint32 col = SDL_MapRGB( obraz->format, 0x00, 0x00, 0x00 );
    {
        SDL_Rect r;
        r.x = obraz->w / 4;
        r.y = obraz->h / 4;
        r.w = obraz->w / 2;
        r.h = obraz->h / 2;
        SDL_FillRect( obraz, & r, col );
    }
    SDL_SetColorKey( obraz, SDL_SRCCOLORKEY | SDL_RLEACCEL, col );
    SDL_BlitSurface( tapeta, NULL, ekran, NULL );
    SDL_BlitSurface( obraz, NULL, ekran, NULL );
    SDL_Flip( ekran );
    SDL_Delay( 2000 );
    SDL_Quit();
    return 0;
}
P-27077
Drraven
» 2011-01-26 08:54:11
Dlaczego SDLa łączysz z WinAPI?
P-27092
DejaVu
» 2011-01-26 12:22:30
A co to za różnica? Po prostu nie miałem jeszcze skompilowanego liba SDLmain.
P-27098
Drraven
» 2011-01-26 14:17:40
No SDL przenośny winapi raczej nie.
P-27107
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona