Screenproblem

Anfängerfragen zum Programmieren mit PureBasic.
Janno
Beiträge: 99
Registriert: 27.10.2006 21:38
Wohnort: Niedersachsen

Screenproblem

Beitrag von Janno »

Ich habe ein Problem mit dem Screen-befehl.
Ich will, dass, wenn man eine Taste drückt, der Bildschirm einfach schwarz wird.

Code: Alles auswählen

InitSprite()
InitKeyboard()

OpenScreen(800,600,16,"")

Repeat
ExamineKeyboard()
FlipBuffers()

If KeyboardPushed(#PB_Key_Space)
  ClearScreen(RGB(255,255,255))
EndIf

Until KeyboardPushed(#PB_Key_Escape)
Das Problem ist dabei, dass sobald ein Sprite mit dabei ist, der Bildschirm wieder normal wird, wenn man die Taste loslässt

Code: Alles auswählen

InitSprite()
InitKeyboard()

OpenScreen(800,600,16,"")
LoadSprite(1,"Bilder\Back.bmp",0)

Repeat
ExamineKeyboard()
FlipBuffers()

DisplaySprite(1,0,0)

If KeyboardPushed(#PB_Key_Space)
  ClearScreen(RGB(255,255,255))
EndIf

Until KeyboardPushed(#PB_Key_Escape)
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

würd ich wahrscheinlich so machen (übrigens is RGB(255,255,255) weiß :wink: )

Code: Alles auswählen

InitSprite()
InitKeyboard()

OpenScreen(800,600,16,"")
LoadSprite(1,"c:\test\a.bmp",0)

show=1

Repeat
  ClearScreen(0)
  ExamineKeyboard()
  
  If KeyboardReleased( #PB_Key_Space)
    show!1
  EndIf
  
  If show
    DisplaySprite(1,Random(50),Random(50))
  EndIf
  FlipBuffers()
  
Until KeyboardPushed(#PB_Key_Escape)
my pb stuff..
Bild..jedenfalls war das mal so.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

bei einem screen hast du 2 buffer die permanent wechseln,
und du baust in jedem schleifendurchlauf den bildschirm komplett auf,
von clear bis er fertig ist, und dann per flipbuffers angezeigt wird.

ich hab mal was mit reingebaut, damit man auch was auf dem bild sieht.
wenn man Return drückt, wird die Farbkombination Blau/Gelb,
wenn man Space drückt, wird sie Schwarz/Weiß.

Code: Alles auswählen

InitSprite() 
InitKeyboard() 

OpenScreen(800,600,16,"") 

Repeat 
  ExamineKeyboard() 

  If KeyboardPushed(#PB_Key_Space) 
    Color = $000000 
  EndIf 
  If KeyboardPushed(#PB_Key_Return) 
    Color = $FF0000 
  EndIf 

  ClearScreen(Color)
  Color2 = Color ! $FFFFFF
  StartDrawing(ScreenOutput())
    DrawingMode(4)
    For n= go To 280 Step 8
      Circle(400,300,n, Color2)
    Next
  StopDrawing()

  go +1 : If go > 8 : go = 1 : EndIf

  FlipBuffers() 

Until KeyboardPushed(#PB_Key_Escape)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Janno
Beiträge: 99
Registriert: 27.10.2006 21:38
Wohnort: Niedersachsen

Beitrag von Janno »

danke für die schnelle hilfe
(ich weiß das rgb(255,255,255) weiß ist, aber wenn ich schwarz genommen hätte, hätte sich nichts verändert :wink: )
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

@KG
:o :lol: :freak: :shock: 8) :allright:
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag von Alves »

@ Kaeru

Ich rkieg mich nich mehr ein^^
Antworten