Maskcolor von Sprites ändern

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Xadas

Betreff: Maskcolor von Sprites ändern

BeitragSo, Apr 11, 2004 23:24
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Apr 12, 2004 3:41
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Apr 12, 2004 7:56
Antworten mit Zitat
Benutzer-Profile anzeigen
danke ich probiers mal
Ey isch schlach disch kaputt!

Xadas

BeitragMo, Apr 12, 2004 8:06
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Apr 12, 2004 13:07
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Apr 12, 2004 15:17
Antworten mit Zitat
Benutzer-Profile anzeigen
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!

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group