Zwei Keyboardtasten gleichzeitig
Verfasst: 19.08.2009 15:23
N'Tag!
Ich mach grad ein Programm, wo ich meine (ziemlich schlechte) GraKa bis an ihre Grenzen treiben kann.
Die Funktionsweise: Mit verschiedenen Tastenn kann man verschiedene Sachen auf den Screen zeichnen oder Effekte auslösen, während oben rechts permanent die FPS angezeigt werden.
Bisher habe ich nur Space (Screen bei jedem Schleifendurchlauf mit ClearScreen(RGB(Random(255),Random(255),Random(255)) neu machen) und TAB (Zufällig ein paar 2D-Figuren zeichnen) implementiret und habe eben festgestellt, dass nicht beides gleichzeitig gemacht werden kann.
Mein Snippet:
MfG, Mok
Ich mach grad ein Programm, wo ich meine (ziemlich schlechte) GraKa bis an ihre Grenzen treiben kann.
Die Funktionsweise: Mit verschiedenen Tastenn kann man verschiedene Sachen auf den Screen zeichnen oder Effekte auslösen, während oben rechts permanent die FPS angezeigt werden.
Bisher habe ich nur Space (Screen bei jedem Schleifendurchlauf mit ClearScreen(RGB(Random(255),Random(255),Random(255)) neu machen) und TAB (Zufällig ein paar 2D-Figuren zeichnen) implementiret und habe eben festgestellt, dass nicht beides gleichzeitig gemacht werden kann.
Mein Snippet:
Code: Alles auswählen
Procedure SetNew()
rnd = Random(4)
If StartDrawing(ScreenOutput())
For Objects = 20 To (Random(100)+20)
new = #False
If (Random(200) % 2 = 0)
DrawingMode(#PB_2DDrawing_Outlined)
EndIf
Select rnd
Case 0:
Box(Random(1000),Random(800),Random(30),Random(40),RGB(Random(255),Random(255),Random(255)))
Case 1:
Line(Random(1000),Random(800),Random(50),Random(60),RGB(Random(255),Random(255),Random(255)))
Case 2:
Circle(Random(1000),Random(800),Random(42),RGB(Random(255),Random(255),Random(255)))
Case 3:
Plot((Objects + 3),(Objects + 5),RGB(Random(255),Random(255),Random(255)))
Case 4:
Ellipse(Random(1000),Random(800),Random(50),Random(60),RGB(Random(255),Random(255),Random(255)))
EndSelect
Next
StopDrawing()
EndIf
EndProcedure
Procedure MyClearScreen()
RndColorR = Random(255)
RndColorG = Random(255)
RndColorB = Random(255)
ClearScreen(RGB(RndColorR,RndColorG,RndColorB))
EndProcedure
[...]
If KeyboardPushed(#PB_Key_Tab)
SetNew()
ElseIf KeyboardPushed(#PB_Key_Space)
MyClearScreen()
Else
ClearScreen(RGB(255,255,255))
EndIf