Maskcolor von Sprites ändern
Übersicht

![]() |
XadasBetreff: Maskcolor von Sprites ändern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Weiß jemand wie man die Maskcolor von Sprites von schwarz in weiß ändert ? Gibt es da einen ähnlichen Befehl wie bei Bildern (MaskImage() ? | ||
Ey isch schlach disch kaputt! |
norc |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn du die Textur manuell lädst, also
tex=loadtexture("spritebmp.bmp",2) sprite=createsprite() entitytexture sprite,tex kannst du das Alphabyte der Textur beliebig verändern. Ich habe neulich diese Frage schon mal beantwortet und abe das Gefühl, du hast nicht richtig gesucht. Versuche das Pixelformat der Textur zu verstehen: ARGB A ist die Transparenz, das Alphabyte, die obersten 8 Bit ; auslesen von rot-grün-blau (alpha ignorieren) rgb=readpixel(x,y) and $ffffff ; rgb auseinanderpicken r=(rgb shr 16) and $ff g=rgb shr 8 b=rgb and $ff ; helligkeit ermitteln grau=(r+g+b)/3 negativ=255-grau ; a,r,g und b wieder zusammensetzen: argb=(grau shl 24)or(r shl 16)or(g shl 8)or(b) writepixel x,y,argb du könntest auch eine maskenfarbe setzen, z.b. so: if rgb=$FFFFFF ; wenn weiss argb=$00FFFFFF ; oberstes byte=0 = durchsichtig else argb=$FF000000 or rgb endif Das ganze in ne schleife breite mal höhe usw. BEnutze Writepixelfast usw. mit Lockbuffer... |
||
![]() |
Xadas |
![]() Antworten mit Zitat ![]() |
---|---|---|
danke ich probiers mal | ||
Ey isch schlach disch kaputt! |
![]() |
Xadas |
![]() Antworten mit Zitat ![]() |
---|---|---|
oh das ist doch irgendwie kompliziert ... könntest du mir vielleicht hier ein denn code um die MAskcolor von Schwarz zu Weiß zu ändern hier rein schreiben ? Das währe sehr net. | ||
Ey isch schlach disch kaputt! |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das geht garnicht. Das ist auf Images beschränkt.
Auf Texturen is immer schwarz die Mask Color, da man bei 3D objekten mit Transparenz arbeitet und nicht mit Masking |
||
![]() |
Xadas |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich habs anders hingekriegt :
Schusslochtex=loadtexture("..\Textures\schussloch.bmp",2) Schussloch=createsprite() entitytexture Schussloch,Schusslochtex entitycolor schussloch ,0,0,0 jetzt sind meine Einschusslöcher schwarz anstatt weiß |
||
Ey isch schlach disch kaputt! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group