Alpha gleichzeitig auf zwei Bildern

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

ToeB

Betreff: Alpha gleichzeitig auf zwei Bildern

BeitragDi, Mai 31, 2011 21:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo !

Ich möchte in BMax gerne zwei bilder gleichzeitig Aus und einfaden. Dazu benutze ich AlphaBlend und SetAlpha. Das funzt auch super (wie es ja soll Rolling Eyes ). Doch mein problem ist, wenn die beiden Bilder sich überlappen. Dann wird eine Stelle dunkler gezeichnet (was auch Logisch ist). Kann man das irgendwie ausstellen ?


mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

empet

BeitragDi, Mai 31, 2011 21:06
Antworten mit Zitat
Benutzer-Profile anzeigen
zuerst das erste bild ganz(alpha=1)
dann das zweite(alpha=1)
dann wieder das erste(0<alpha<1)

ToeB

BeitragDi, Mai 31, 2011 22:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Habe ich gemacht, da wird im Prinzip nur das zweite bild ausgeblendet, da erste bleibt ja logischer weise immer ganz da.

Also einfach gesagt : Ich habe z.B. zwei graue Flächen. Diese sollen gleichzeitig ausfaden (alpha-0.01 bspw.). Wenn diese flächen überlappen bei z.B. 0.5 Alpha, dann sind diese Halbtransparent bis auf die Stelle, wo diese sich überlappen. Dort ist es Dunkler, da ja die beiden Grautöne durch die Transparenz "vermischt" werden.

Danke aber trotzdem !

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

BlitzMoritz

BeitragDi, Mai 31, 2011 23:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Was möchtest du eigentlich? Sollen die grauen Flächen jetzt transparent sein, also das darunterliegende durchschimmern lassen oder nicht? Ich werd' nicht so recht schlau daraus.
Dein simples, konkretes Beispielproblem ließe sich ganz einfach so lösen:
BlitzMax: [AUSKLAPPEN]
Graphics 500,500
SetBlend ALPHABLEND
SetClsColor 255,255,255

'So hat es ToeB geschildert:
Local Alpha# = 1.0
SetColor 128,128,128
Repeat
Cls
SetAlpha Alpha
DrawRect 100, 100, 200, 200
DrawRect 200, 200, 200, 200
Flip
Alpha:-0.005
Until Alpha <= 0 Or KeyDown(KEY_ESCAPE) Or AppTerminate() = True

'So ist es anders:
Alpha = 1.0
Repeat
Cls
SetColor 255,255,255
SetAlpha 1
DrawRect 100, 100, 200, 200
SetAlpha Alpha
SetColor 128,128,128
DrawRect 100, 100, 200, 200

SetColor 255,255,255
SetAlpha 1
DrawRect 200, 200, 200, 200
SetAlpha Alpha
SetColor 128,128,128
DrawRect 200, 200, 200, 200

Flip
Alpha:-0.005
Until Alpha <= 0 Or KeyDown(KEY_ESCAPE) Or AppTerminate() = True
Aber ob es das ist, was du dir wünschst, weiß ich nicht. Male einfach unter den transparenten Bildern das, was durchschimmern soll - wenn etwas durchschimmern soll Wink

ToeB

BeitragMi, Jun 01, 2011 2:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja danke, so hatte ich es mir vorgestellt wie es hinterher ausschaut. Doch ich hatte gehofft es würde dafür irgendeine Einstellung geben, da ich ungern die Bilder doppelt und dreifach malen möchte ^^



mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

BlitzMoritz

BeitragMi, Jun 01, 2011 7:55
Antworten mit Zitat
Benutzer-Profile anzeigen
ToeB hat Folgendes geschrieben:
...Doch ich hatte gehofft es würde dafür irgendeine Einstellung geben, da ich ungern die Bilder doppelt und dreifach malen möchte

Aus Performance-Gründen? Die fallen wohl kaum ins Gewicht, es sei denn du malst gleichzeitig wirklich sehr viele Bilder.

Und aus Bequemlichkeitsgründen? Dann bastel' dir doch einfach eine Function, die das Mehrfachzeichnen übereinander ganz nach deinem Sinn regelt. Für die grauen Rechtecke könnte die z.B so aussehen:
BlitzMax: [AUSKLAPPEN]
Graphics 500,500
SetBlend ALPHABLEND
SetClsColor 255,255,255
Local Alpha# = 1.0
Repeat
Cls
DrawBackgroundedRect(100,100,200,200,128,128,128,Alpha)
DrawBackgroundedRect(200,200,200,200,128,128,128,Alpha)
Flip
Alpha:-0.005
Until Alpha <= 0 Or KeyDown(KEY_ESCAPE) Or AppTerminate() = True

Function DrawBackgroundedRect( x#, y#, width#, height#, Red%, Green%, Blue%, Alpha#, BackRed% = 255, BackGreen% = 255, BackBlue% = 255)
SetAlpha 1
SetColor BackRed, BackGreen, BackBlue
DrawRect x, y, width, height
SetAlpha Alpha
SetColor Red, Green, Blue
DrawRect x, y, width, height
End Function

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group