gleiche geschwindigkeit auf allen rechnern?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Sterbendes Lüftlein

Betreff: gleiche geschwindigkeit auf allen rechnern?

BeitragDo, Jul 29, 2010 10:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt

Starwar

BeitragDo, Jul 29, 2010 11:05
Antworten mit Zitat
Benutzer-Profile anzeigen
So ganz grob, ohne Code:
Eine Variable/Konstante mit Geschwindigkeit in Pixel pro Millisekunde.
Dann misst du die Zeit seit der letzten Aktualisierung MilliSecs
Und schlussendlich berechnest du aus der vergangenen Zeit und der Geschwindigkeit die Strecke.
Das funktioniert wie in Physik. s=v*t (Strecke ist Geschwindigkeit mal Zeit)
MFG

Dottakopf

BeitragDo, Jul 29, 2010 11:08
Antworten mit Zitat
Benutzer-Profile anzeigen
such mal nach frame unabhängigem Programieren.
Da wird anhand von Millisekunden bestimmt, wann das Spiel sich selbst updatet.

Aber bei kleineren Projekten sollte ein timer reichen

Code: [AUSKLAPPEN]

timer=createtimer(60)


und dann in der Main Loop
Code: [AUSKLAPPEN]

repeat
cls

;super tolle spermien...*hüstel*

waittimer(timer)
flip 0
unilkeyhit(1)




Gruß
Dottakopf
Rechtschreibfehler gelten der allgemeinen Belustigung!

mpmxyz

BeitragDo, Jul 29, 2010 11:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du einen Timer nutzt, bewegen sie sich auf allen Systemen, die schnell genug für dein Spiel sind, (fast) gleich schnell.
Für ein so einfaches Projekt sollte das ausreichen.
Wenn das nicht reichen würde, kann man die Bewegung pro Frame abhängig von der seit dem letzten Frame vergangenen Zeit berechnen. (x=x+v*Zeitfaktor)
mfG
mpmxyz
Edit: Das hat sich zeitlich überschnitten. BBP-live hatte bei mir seltsamerweise nichts angezeigt gehabt.
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer
  • Zuletzt bearbeitet von mpmxyz am Do, Jul 29, 2010 11:15, insgesamt einmal bearbeitet

Starwar

BeitragDo, Jul 29, 2010 11:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, du hast das Problem, dass ein Rechner gerne ab und zu mal hängt oder du weniger Ressourcen bekommst (Fenster minimieren, wo bei ich nicht weiß wie weit Blitz da optimiert ist).
Mit der Methode die ich gepostet habe, kann man auch (zumindest wenn die Lücken nicht zu groß werden, sonst muss man die Kollisionsteuerung speziell implementieren) auch "Aussetzer" richtig berechnen.
Aber für kleine Projekte sollte der Timer reichen.
(Der Timer und Flip 0 sollten ja so wie so wegen der CPU-Last rein)
MFG

Edit @mpmxyz: Sagte ich das nicht oben? oO
 

Sterbendes Lüftlein

BeitragDo, Jul 29, 2010 11:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group