XOR erzeugt das Bit-Komplementär zu der vorher vorhandenen Farbe,
für die bits die im XOR-Kommando gesetzt sind.
wenn du eine RGB(255,0,0) auf einen Hintergrund XORst,
werden alle bits von RGB(255,0,0), die vorher gesetzt waren, gelöscht, und umgekehrt.
also, wenn du die Komplementärfarbe zu einer vorhandenen Farbe erzeugen willst,
musst du zuerst diese Farbe drawen, und dann mit ALLEN Bits gesetzt drüber drawen.
(code)
wenn du das komplementär zu einer Farbe direkt drawen willst, kannst du auch ( RGB() ! $FFFFFF ) als Farbwert verwenden.
Code: Alles auswählen
InitSprite()
InitKeyboard()
OpenScreen(640,480,16,"Test")
Repeat
ExamineKeyboard()
Delay(500)
ClearScreen(0)
StartDrawing(ScreenOutput())
Box(20,20,50,100,RGB(255,0,0))
Box(70,20,50,100,RGB(0,0,255))
For n=0 To 39
Circle(70,70,40-n, RGB(0,128-2*n,0))
Next
;*************************************
; jeden zweiten Frame
B = 1-B
If B
; eine XOR Box drüberlegen
DrawingMode(DrawingMode(#PB_2DDrawing_XOr))
Box(10,70,120,70,RGB(255,255,255))
EndIf
;*************************************
StopDrawing()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.