Colorkey geht nicht



  • Hallo,
    ich erstelle einen Colorkey(99 Farbe derFarbpalette nicht transparent) für eine Surface:

    DDCOLORKEY ddck;
       ddck.dwColorSpaceHighValue = 99;
       ddck.dwColorSpaceLowValue  = 99;
       lpSprites->SetColorKey(DDCKEY_SRCBLT,&ddck);
    

    Und rufe die Blt Funktion auf:

    ddrval = lpDDS->Blt(&Zielrect,lpSprites,&Spieler.bltrect,DDBLT_WAIT | DDBLT_KEYSRC,NULL);
    

    Der Spieler wird zwar angezeigt aber der Colorkey funktionniert nicht. Warum??
    Danke schon mal!
    MFG Julian



  • probier's mal mit

    lpDDS->BltFast(x,y,lpSprites,&Spieler.bltrect,DDBLTFAST_SRCCOLORKEY|DDBLTFAST_WAIT );
    

    Ich hab's jetzt zwar net ausprobiert, bin auch schon ein bissl müde, aber irgendwie sieht's ganz vernünftig aus....
    ach ja, x und y sind dann die koordinaten von links oben, also

    int x=Zielrect.left;
    int y=Zielrect.top;
    

    gruß
    konstantin



  • wenn der Colorkey bei Blt nicht geht, geht er auch bei BltFast nicht...

    ich mach das so:
    Der Colorkey wird gesetzt indem er von der Surface die Farbe der oberen linken Ecke Speichert. Also is die Farbe oben links dann der Transparente Colorkey



  • Hallo,
    danke für eure Hilfe. Hat sich mitlerweile erledigt:
    Ich hab die falsche Farbe zum Colorkey gemacht. 😃
    Julian


Anmelden zum Antworten