Gibt's auch sowas wie 'CloseScreen()' o.ä. ?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Schonmal etwas von Rückgabewerten gehört?

Wenn [c]OpenScreen()[/c] Null zurückgibt, dann gehts auch nicht.
Versuchs mal mit 32 Bit, 24 Bit machen die neueren Grafikkarten immer
seltener.
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag von nco2k »

@Wespe23
boah, wie kann man so viel falsch machen, bei so wenig code? :?

- du überprüfst NICHT ob InitSprite() etc. geklappt hat
- du verwendest 24bit farbtiefe (düfte auf fast keinem tft-monitor gehen)
- ClearScreen(0,0,0) nach einem OpenScreen() ist überflüssig
- du verwendest kein StopDrawing() nach einem StartDrawing()
- du benützt kein FlipBuffers()
- ExamineKeyboard() gehört in die schleife
- CloseScreen() ist überflüssig wenn du das programm sowieso beendest

versuchs doch mal so:

Code: Alles auswählen

#Width = 640
#Height = 480
#Depth = 16

If InitSprite() = #False
  MessageRequester("ERROR", "Could not initialize DirectX 7 or higher!", #MB_ICONERROR)
ElseIf InitKeyboard() = #False
  MessageRequester("ERROR", "Could not initialize DirectX compatible Keyboard!", #MB_ICONERROR)
ElseIf OpenScreen(#Width,#Height,#Depth,"2D-Zeichnung")
  
  Repeat
    
    ClearScreen(0, 0, 0)
    If StartDrawing(ScreenOutput())
      Box(300,400,180,200,RGB(20,0,200))
      Box(500,200,30,90,RGB(255,200,0))
      StopDrawing()
    EndIf
    FlipBuffers()
    
    ExamineKeyboard()
  Until KeyboardReleased(#PB_Key_Escape)
  
Else
  MessageRequester("ERROR", "Could not open Screen of "+Str(#Width)+"x"+Str(#Height)+"x"+Str(#Depth)+"!", #MB_ICONERROR)
EndIf
End
c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

remi_meier hat geschrieben:Darf ich ihm sagen, dass das in einer Endlosschleife endet (zumindest
wenn er es so macht wie im Post über mir)?
Solange er nicht einmal in der Lage ist die Hilfe aufzurufen bzw.
sich die Beispiele anzusehen (dann waere das hier auch das
falsche Forum), wird das wohl nichts bringen. ;-)


@nco2k
Spielverderber :twisted:
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag von nco2k »

@hallodri
tut mir echt leid, ich nehme mir auch jedes mal vor bei Wespe23 nicht zu posten, aber wenn ich sowas sehe, tut es mir einfach nur in den augen weh. :oops: :mrgreen:

c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Beitrag von Mok »

Ich hab jetzt Examinekeyboard() in die Schleife getan... und es funktioniert... <)
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Beitrag von Macros »

Viele Grafikkarten ( z.B. meine) unterstützen 24 Bit Screens von PB nicht.
Keine Ahnung wieso das nicht klappt. Probiers mit 32.
Antworten