Seite 2 von 2

Verfasst: 07.07.2006 12:59
von Alves
Achso, dann habe ich die ganze Zeit den Nutzen von ExamineKeyboard() falsch verstanden.

Und wieder was gelernt!

Verfasst: 09.07.2006 21:26
von #NULL
@thomas obermeier
einen richtigen befehl, wie WaitWindowEvent() für normale fenster, gibt es für vollbild nicht. wie man dein problem löst, hängt davon ab, wie dein spiel aufgebaut ist. vielleicht hast du das so gemacht, dass sich das fahrzeug von allein vorwärts bewegt und man nur die lenkung kontrolliert. aber in jedem fall benutzt du ja bestimmt variablen für die koordinaten, an denen die sprites jeweils gezeichnet werden.
wenn du nun dein spiel so aufbaust, das ein teil zum berechnen der neuen koordinaten zuständig ist und ein anderer teil die sprites dann zeichnet, dann kannst du das neu berechnen einfach überspringen, sobald du fest gestellt hast, dass dein auto an einen stein gefahren ist, und die sprites werden dann eben in jedem schleifen durchgang and die selbe stelle gezeichnet.

Code: Alles auswählen

InitSprite()
InitKeyboard()
OpenScreen(800,600,32,"fllscrn")

Global x.l=100
Global y.l=300
Global ende=0 ;0 für weiter   1 für schluss

Procedure berechnen()
  x+5
  If x>200
    x=100
    y+20
  EndIf
  
  If y>=500 ; <------ die abbruch bedingung
    ende=1
  EndIf
EndProcedure

Procedure zeichnen()
  ClearScreen(0)
  StartDrawing( ScreenOutput() )
    Circle(x,y,4, $00ff00)    
    LineXY(20,500,500,500,$ff0000)
    DrawText(360,40,"<ESC> zum abrechen")
    If ende
      DrawText(340,60,"<ENTER>, um zu wiedeholen")
    EndIf
  StopDrawing()
EndProcedure

Repeat
  ExamineKeyboard()
  If ende=0
    berechnen()
  ElseIf KeyboardReleased(#PB_Key_Return)
    ende=0
    x=100
    y=300
  EndIf
  zeichnen()
  FlipBuffers()
Until KeyboardReleased(#PB_Key_Escape)