Zeitlupe und Vorspulen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

MikeDee

Betreff: Zeitlupe und Vorspulen

BeitragFr, Apr 17, 2009 18:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie men es realisiert das ein Objekt alle 5 Sekunden eine Bewegung macht oder erst jede Minute ist klar.

Aber wie realisiere ich es innerhalb von einer Minute 10 Schritte in zufällige richtung macht oder 5 sec, also schneller.

Bei mir kommt immer nur das Resultat raus, dass es z.B. eine Minute gerade ausgeht und dann die Richtung wechselt oder alle 5 sec.
Nicht wenige benutzen die Anonymität des Internets um berühmt zu werden.

DaysShadow

BeitragFr, Apr 17, 2009 18:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, wenn du 5s nimmst sind das 5000 ms und wenn die Figur 10 Schritte innerhalb dieser Zeit machen soll, dann lässt du die Figur immer wenn die Zeitdifferenz >= 500ms ist, einen Schritt in zufällige Richtung gehen, das lässt sich doch mit Rand() machen, oder nicht? 500ms daher, dass du 5000ms hast und 10 Schritte machen willst, also 5000/10 = 500ms.

Ich hoffe ich habe dich richtig verstanden Wink

MfG DaysShadow
Blessed is the mind too small for doubt

MikeDee

BeitragFr, Apr 17, 2009 19:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir ist das Ergebniss aber immer dann das es 10 Schritte geradeaus geht und keine zufälligen bewegungen während dessen macht.

Erschwerend kommt hinzu wenn es mehrere Objekte mit verschidenen "Schrittzahlen" gibt
Nicht wenige benutzen die Anonymität des Internets um berühmt zu werden.

DaysShadow

BeitragFr, Apr 17, 2009 19:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe jetzt zwar nur BlitzMax zur Hand, aber ich denke dass es doch in BlitzBasic genauso funktioniert:

Code: [AUSKLAPPEN]
Graphics 800, 600, 0, 60

SeedRnd MilliSecs()

Local Time:Int, LastTime:Int, Direction:Int

LastTime = MilliSecs()

Local PosX:Int = 400, PosY:Int = 300

Repeat
   
   Time:+ MilliSecs() - LastTime   
   LastTime = MilliSecs()
   
   Cls   
   
      If Time >= 500
         Direction = Rand(1, 4)
         Select Direction
         
            Case 1
               PosX:+ 32
               
            Case 2
               PosX:- 32
               
            Case 3
               PosY:+ 32
            
            Case 4
               PosY:- 32
         
         EndSelect
         
         Time = 0
      EndIf
               
      DrawRect PosX, PosY, 32, 32
   
   Flip
   
Until KeyHit(KEY_ESCAPE)


Geht doch, sofern ich dich richtig verstehe!
Hier zum anschauen:
https://www.blitzforum.de/upload/file.php?id=5327

MfG DaysShadow
Blessed is the mind too small for doubt

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group