Delay + Bewegung in einer Schleife

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

nameit

Betreff: Delay + Bewegung in einer Schleife

BeitragFr, Okt 30, 2015 23:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen!

Ich bin ziemlicher Anfänger in BB3D und versuche ein "png" Bild per Tastendruck auf der X-Achse verschieben zu lassen in Echtzeit. Ein Counter soll nach einer Sekunde das Bild auf der Y Achse nach unten verschieben, so im Tetris, Space Invader Stil. Leider klappt das nicht so wirklich.

Mein finaler Ansatz ist gewesen 2 uhrzeiten abzugleichen mit millisecs(), also führe Schleife so lange aus bid der Zweite Timer (Aktuelle Uhrzeit minus 1000 Milisekunden) der ersten Uhrzeit entspricht.

Code: [AUSKLAPPEN]

Global wnd#=2
Global GraphicsMode#=2
Global posx=400
Global posy=1
SetBuffer BackBuffer ()
timer= CreateTimer(60)
SetGraphicsMode()


; begin mit core und so

Repeat
timer1=MilliSecs()   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;TIMER1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
posy=posy+40   
   
   Repeat
      timer2=MilliSecs()-1000 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; TIMER 2 ;;;;;;;;;;;;;;;;;;;;;;;;;;
      
      If KeyHit(203)
      posx=posx-40

      Else If KeyHit(205)
      posx=posx+40
   
      End If

      drawtest()
      WaitTimer(timer)
      Flip(0):Cls
   Until timer1=timer2 ;;;;;;;;;;;;;;;;;;;;;;;;; LE VERGLEICH ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   


Until KeyHit(1)






; END OF MAIN CODE
Function drawtest()   ; Zeichne!
testbild=LoadImage("viereck.png")
DrawImage testbild, posx, posy
End Function


Function SetGraphicsMode()   ; Set Graphics
Select True
Case GraphicsMode#=1   ;1: 640x480
Graphics 640,480, 32, wnd#
Case GraphicsMode#=2   ;2: 800x600
Graphics 800,600,32, wnd#
Case GraphicsMode#=3   ;3: 1024x768
Graphics 1024, 768, 32, wnd#
Default
End Select
End Function




Doch ich denke das funktioniert nicht, das geht schon aus Prinzip nicht, weil ich die FPS auf 60 begrenzt habe mit createtimer, also nicht milikesunden genau gearbeitet werden kann etc..

Was wäre denn die denkbar einfachste Lösung das sonst zu realisieren?
 

nameit

BeitragSa, Okt 31, 2015 1:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, habs einfach mit >= statt = gelöst

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group