2016-04-18 5 views
0

Ich versuche ein Cookie Clicker ähnliches Spiel mit libGDX in Java zu machen. In Cookie Clicker-Spielen gibt es etwas, das cPs genannt wird, das sind Cookies/Punkte pro Sekunde. Und diese Zahl kann riesig sein. Aber anstatt X Punkte pro Sekunde hinzuzufügen, addiert das Spiel 1 Punkt X Mal pro Sekunde.Cookie Clicker-artiger Punktezähler in Java libGDX

Ich versuche dasselbe mit Doppelvariablen zu tun. Es sieht so etwas wie dies jetzt:

if (deltaTime > (1/pointsPerSecond)) { 
     score += 1; 
     deltaTime = 0; 
    } 

Aber mit Zahlen wie 300 Punkte pro Sekunde, wird der Zähler nur nicht mit dem Hinzufügen von Punkten halten kann. Was ist die beste Lösung dafür?

+0

Ersetzen Sie den gesamten Code oben mit 'Partitur + = DELTA * pointsPerSecond'. Wenn Sie so viel Cookie-Clicker skalieren, ist eine lange Auflösung möglicherweise nicht ausreichend. Für die ersten 9 signifikanten Ziffern benötigen Sie möglicherweise eine lange und für die nächste 9 eine lange. – Tenfour04

Antwort

0

Vielen Dank für Ihre Hilfe.

Ich schaffe es, indem ich meinen Punkt pro Sekunde durch 30 dividiere und sie 30 mal pro Sekunde addiere, anstatt sie XXXX Mal pro Sekunde 1 zu 1 Punkt hinzuzufügen. So sieht es aus, als würden Punkte ständig zunehmen.

Haben Sie einen schönen Tag every1 :)

1

Ich empfehle, mit Eingabeprozessor check out event handling here

und in der touchDown(....) Methode, würde ich versuchen, die Zeit zwischen jedem aufnehmen unten klicken und dass

zum Beispiel Sekunden verstärken die Zeit zwischen zwei Klicks genommen sind 0.2s, dann erhalten Sie 1/0.2 = 5 Klicks pro Sekunde.

können Sie System.currentTimeMillis(); für Ihren Zweck verwenden und die Zeit des aktuellen Klicks auf den vorherigen Klick subtrahieren.