Schwarze Transparenz

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Schwarze Transparenz

Beitrag von KeyKon »

Hi,
ich hab da mal ne Frage: Ich wollte ein sanftes Einblenden von Schwarz zum eigentlichen Screen machen aber ich weis nicht wie man eine Transparenz für Schwarz macht.
Ich hab zwar ein bisschen gesucht :) aber nichts gefunden :( . Irgenwelche Tipps?

KeyKon
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3857
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

Für fullscrenn nimmst du die changegamma() funktion

Siehe daselbst in der Hilfe
‮pb aktuell5.7 - windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Rob
Shadow Admin
Beiträge: 258
Registriert: 26.08.2004 01:39
Kontaktdaten:

Beitrag von Rob »

Oder einfach RGB(10,10,10) oder so.
Build a man a fire and he's warm for a day. Set a man on fire and he's warm for the rest of his life
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Hier ein beispiel:
So funktioniert es nicht=

Code: Alles auswählen

InitSprite()
InitKeyboard()
RGB=100
OpenScreen(1024,768,16,"Test")
ChangeGamma(0,0,0,1)
Repeat
ExamineKeyboard()
ClearScreen(0,0,0)
StartDrawing(ScreenOutput())
FrontColor(255,255,0)
Box(0,0,123,123)
DrawingMode(1)
FrontColor(255,0,0)
Locate(5,5)
DrawText("RGB: "+Str(RGB))
StopDrawing()
ChangeGamma(RGB,RGB,RGB,0)
If Timer = 100
RGB=255
EndIf
Timer+1
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape) 
End
und so schon=

Code: Alles auswählen

InitSprite()
InitKeyboard()
OpenScreen(1024,768,16,"Test")
ChangeGamma(0,0,0,1)
Repeat
ExamineKeyboard()
ClearScreen(0,0,0)
StartDrawing(ScreenOutput())
FrontColor(255,255,0)
Box(0,0,123,123)
DrawingMode(1)
FrontColor(255,0,0)
Locate(5,5)
DrawText("RGB: "+Str(RGB))
StopDrawing()
ChangeGamma(RGB,RGB,RGB,0)
If RGB <> 255
RGB+1
EndIf
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape) 
End

Frage: Hab ichs falsch gemacht, Ist mein PC nicht geeignet oder liegts an PB?

KeyKon
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

:lol: Warum setzt du den RGB Wert gleich von 100 auf 255? Da hat man ja garkeinen Flüssigen Übergang. Versuchs so:

Code: Alles auswählen

InitSprite()
InitKeyboard()
RGB=100
OpenScreen(1024,768,16,"Test")
ChangeGamma(0,0,0,1)
Repeat
ExamineKeyboard()
ClearScreen(0,0,0)
StartDrawing(ScreenOutput())
FrontColor(255,255,0)
Box(0,0,123,123)
DrawingMode(1)
FrontColor(255,0,0)
Locate(5,5)
DrawText("RGB: "+Str(RGB))
StopDrawing()
ChangeGamma(RGB,RGB,RGB,0)
If Timer >= 5 And RGB < 255
RGB+1
EndIf
Timer+1
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
End
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Ist mir schon klar, wie man den übergang flüssig macht aber ich wollt mal fragen warum das so nicht geht(zumindest bei mir nicht)

keykon
Benutzeravatar
Ypser
XMas-Contest-Gewinner '03
Beiträge: 128
Registriert: 29.08.2004 14:35
Computerausstattung: Win7
Wohnort: Ingelheim
Kontaktdaten:

Beitrag von Ypser »

Guck mal auf meine HP, da gibts ne PB-Include für Fade-In / Fade-Out.
Läuft über 3D-Sprites, das stellte sich mal als einzige resourcenschonende Variante heraus...
Bild
Antworten