Gå til innhold
🎄🎅❄️God Jul og Godt Nyttår fra alle oss i Diskusjon.no ×

DX-tegne med farge-maske


Anbefalte innlegg

Heisann

 

Programmerer litt på KoN og har støtt på et problem.

Jeg har et bilde med en "maske-farge" (#FF00FF)

Alt med den fargen skal altså IKKE tegnes.

 

Hvordan får jeg til det?

 

For øyeblikket tegner jeg på denne måten:

Surface.Blt ScreenRECT, Unit(.Tile(y, x).UnitOnTile).Surface, UnitRECT, DDBLTFAST_DONOTWAIT

Jeg ser at man kan velge "DDBLT_COLORFILL". Det er vel litt vesentlig i problemet?

 

Takker for all hjelp! :)

 

Jonas

 

Edit: VB6 og DirectX7, men det regner jeg med de fleste tok.

Endret av Jonas
Lenke til kommentar
Videoannonse
Annonse

Du kan få dette til ved å anvende den nyttige funksjonen SetColorKey i den aktuelle kildetavlen:

 

Dim ColorKey As DDCOLORKEY

ColorKey.low = &HFF00FF
ColorKey.high = &HFF00FF

Unit(.Tile(y, x).UnitOnTile).Surface.SetColorKey DDCKEY_SRCBLT, ColorKey

 

Ovennevte kode bør helst kjøres i initialiseringsprosessen da tavlene lastes inn, men du kan nok også kjøre den i tegnerutinen, såfremt det er nødvendig.

 

Dersom dette ikke fungerer, ville jeg forsøkt andre maskefarger, eksempelvis hvitt.

 

Du må for øvrig også inkludere verdien DDBLTFAST_SRCCOLORKEY i trans-paramenteret dersom du skal tegne tavlen med den gjennomsiktige fargen.

Endret av aadnk
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...