Seite 1 von 3

Gosub Fehler?

Verfasst: 09.11.2007 21:41
von Milchshake
Da für mich alles ohne Gosub's immer unübersichtlicher wird, habe
ich wie in PB 3.3 begonnen, ganz normal Gosub's zu benutzen.
Dabei ist mir etwas seltsames aufgefallen.
Wenn ich Gosub's verwende, und die Schleife beende, schliest sich das Fenster einfach nicht. Bzw ich muss den Task Manager benutzen, um das Programm zu schliesen.
Hab nur ich das Problem, oder auch andere?

Verfasst: 09.11.2007 21:50
von Thomas
Wie währs mit End, oder CloseWindow(...)?
Bitte etwas konkreter

Verfasst: 09.11.2007 21:50
von STARGÅTE
Da brauchen wir wieder n Wahrsagerkugel ^^

Bitte den Code posten

danke :allright:

Verfasst: 09.11.2007 21:54
von Thomas
STARGÅTE hat geschrieben:Da brauchen wir wieder n Wahrsagerkugel ^^

Bitte den Code posten

danke :allright:
hab ich doch schon (so in etwa) gesagt ...

Verfasst: 09.11.2007 21:55
von Fluid Byte
Da brauchen wir wieder n Wahrsagerkugel ^^
Kommt sofort!

Bild

Verfasst: 09.11.2007 21:59
von STARGÅTE
Thomas hat geschrieben:
STARGÅTE hat geschrieben:Da brauchen wir wieder n Wahrsagerkugel ^^

Bitte den Code posten

danke :allright:
hab ich doch schon (so in etwa) gesagt ...
@ Thomas , guck doch mal auf die Zeiten:
STARGÅTE Verfasst am: 09 Nov 2007 20:50:31
Thomas Verfasst am: 09 Nov 2007 20:50:13
wie sollte ich da deins lesen ? ^^


@Fluid Byte

danke ... mal sehn was drin steht :

Code: Alles auswählen

Start:
 Repeat
  Gosub Start
  Ende = 1
 Until Ende
Return
hmm ^^, dumme Kugel

Verfasst: 09.11.2007 22:04
von Thomas
Naja,
Martin du hast recht, so schnell ist deine Kiste nich ... :lol:

Aber bitte jetzt nen Code ... mit der Kugel kommen wir nicht weiter ...

Verfasst: 09.11.2007 23:04
von Milchshake
Naja etwas ganz Simples halt wie:

Code: Alles auswählen

InitSprite()
InitKeyboard()
OpenScreen(1024,768,32,"Gosub Fehler")
LoadSprite(0,"Sprite.bmp",0)

Repeat
FlipBuffers()
CLearScreen(0)
ExamineKeyboard()
DisplayTransparentSprite(0,x,y)
Gosub Steuerung

Until Keyboardpushed(#PB_Key_Escape)

Steuerung:
If keyboardpushed(#PB_KEY_Left)
x - 2
endif 
if keyboardpushed(#PB_Key_right)
x + 2
endif 
Return
Bei mir schliest dann das Programm einfach nicht, ohne Gosub aber schon.

Verfasst: 09.11.2007 23:10
von STARGÅTE
wenn du auf ESC drückt beendet sich das programm nicht, sonder geht noch mal in die Gosubschleife und für RETURN aus, was dann ein fehler verursacht

So geht es :
PureBasic CODE hat geschrieben: InitSprite() 
InitKeyboard() 
OpenScreen(1024,768,32,"Gosub Fehler"
LoadSprite(0,"Sprite.bmp",0) 

Repeat 
  FlipBuffers() 
  ClearScreen(0) 
  ExamineKeyboard() 
  DisplayTransparentSprite(0,x,y) 
  Gosub Steuerung 

Until KeyboardPushed(#PB_Key_Escape

End

Steuerung: 
  If KeyboardPushed(#PB_KEY_Left
    x - 2 
  EndIf 
  If KeyboardPushed(#PB_Key_right
    x + 2 
  EndIf 
Return

Re: Gosub Fehler?

Verfasst: 09.11.2007 23:19
von D@nte
Wie Stargate sagt da fehlte nen END
Milchshake hat geschrieben:Da für mich alles ohne Gosub's immer unübersichtlicher
Wenn du immer so programmierst, wie in deinem 'Demosource', kann ich dieses Statement durchaus verstehen ;)
Falls du deinen Quellcode jedoch normalerweise formatierst, kann ich das Statement nicht verstehen, da grade durch GOSUB die leserlichkeit mE vorallem bei grossen Codes enorm leidet...