Java Spiel steigende Geschwindigkeit?

...komplette Frage anzeigen

2 Antworten

ii wird bei jedem Tick erhöht. Mit jj willst du die Geschwindigkeit erhöhen.

Wenn jj 4 ist, wird alle vier Ticks das Objekt bewegt. Die Geschwindigkeit beträgt also 0.25 Einheiten/Tick.

Wenn jj halbiert wird, also 2 ist, wird das Objekt alle 2 Ticks bewegt. Die Geschwindigkeit beträgt also 0.5 Einheiten/Tick.

D.h. es besteht ein antiproportionaler Zusammenhang zwischen jj und der Geschwindigkeit. Halbiert man jj, verdoppelt man die Geschwindigkeit.

Wenn nun also jj linear verringert wird ergeben sich folgende Zusammenhänge: Die Geschwindigkeit wird linear erhöht. Das bedeutet die Strecke wird quadratisch erhöht, die Beschleunigung ist konstant.

Exponentiell ist da nichts. Was genau ist an diesem Verhalten also unerwünscht? Oder tritt ein anderes Verhalten als dieses ein? Dann wäre eine fehlerhafte Implementierung die Ursache.

 public void tick()
 {    
      if ( ii % jj  == 0)
      {
            bewegen();    
      }
 }

wie erhöhst du denn ii?

Ist auch in der tick Methode wird also mit jedem tick erhöht

0
@ZwiggaMuggi

und wie verringerst du jj? Zeichne dir mal einen Graphen mit x=ii und y=jj

Ich glaube du hast einen mathematischen Fehler

0
@Knomle

jj wird nach bedarf verringert wenn man die geschwindigkeit erhöhen will

0
@ZwiggaMuggi

wieso frägst du überhaupt den Rest mit Modulo ab? Verringere/Erhöhe es doch einfach gleich um einen ganzen Tick

0

Was möchtest Du wissen?