Steinfall Bug
Übersicht

![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe das nicht Komplett mitverfolgt, also ignorieren, wnen es nichts zur Sache tut.
Wie kann ich ein Objekt Frameunabhänig bewegen? Also: Physikalische Grundlage: Geschwindigkeit v in px/sec Vergangene Zeit (delta)t in sec Bewegte Strecke (delta)s in px v=s/t -> s=v*t Beispiel: Code: [AUSKLAPPEN] ;INIT
Graphics 800,600,32,2 ClsColor 255,255,255 Color 0,0,0 timer = CreateTimer(30) ;Timer ;---- EINSTELLUNGEN ---- speed#=50 ;pixel/sec posY# = 0 ;pixel ;UMRECHNUNGEN speed# = speed#/1000 ;sec->ms ;WICHTIG - DIREKT DEM ERSTEN DRUCHLAUF AUSFÜHREN curTime%=MilliSecs() ;MAINLOOP Repeat ;ZEITFRAGEN oldTime%=curTime% ;Zeit sichern für die Rechnung curTime% = MilliSecs() ;Neune Zeit bestimmen time% = curTime%-oldTime% ;Vergangene Zeit berechnen ;POSTION BERECHNEN posY#=posY#+(speed#*time%) ;Physik ;) ;ZEICHNEN Oval 200,Int(posY#),50,50 Text 10,10,time+"ms * "+speed+"(px/ms) = "+(speed#*time%)+"px -> "+posY# ;GRAFIKKRAM WaitTimer(timer) ;Auf den Timer warten Flip 0 Cls Until KeyDown(1) End |
||
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
hiho,
du sollst das waittimer nur 1x (!!) vor dem flip 0 verwenden. also so in etwa (mainloop) Code: [AUSKLAPPEN] repeat spieler bewegen steine fallenlassen monster bewegen blabla..... waittimer (timer) flip 0 until irgendwas l8er, PSY |
||
PSY LABS Games
Coders don't die, they just gosub without return |
![]() |
Raiden93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ist es überhaupt ratsam den timer so zu nutzen bei meinem Scrolling?
Derzeitig sieht mein Scrolling folgend aus: Code: [AUSKLAPPEN] If KeyDown(208) Then
If map(px,py+1) < 1 Then If aa < 1 Then move = 1 aa = 1 End If End If End If If move = 1 Then If aa > 0 scrolly = scrolly + 2 ppy = ppy + 2 xo = xo + 1 If xo = 16 Then aa = 0:py = py + 1:xo = 0 End If End If Wenn ihr eine bessere Idee habt währe es schon wen man mir weiter hilft ![]() EDIT: Das Problem mit den Timern habe ich noch leichter hin gekriegt ![]() Code: [AUSKLAPPEN] If millisecs()>=Timer_Fallen+1000
Timer_Fallen= MilliSecs() ;HIER DER Komplette Stein Fall Code End If Bedingung gepackt |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group