libgdx Zeitprobleme

T

Tekkkz

Neues Mitglied
1
Hallo! Ich habe ein paar Probleme mit der Zeit *g*

1. Spielt mal mein Spiel (link) bis 50 Punkten...die Röhren bleiben zu..warum?

2. Die Röhren gehen immer nach Schließen erst wieder Auf, wenn neuer Vogel spawnt, warum?

3. Die Röhren sollen eigl nur 1 Sec immer zu sein, habe ich da was falsch im Code?

DIe Datei in der ihr das wichtigste findet ist
Code:
SquishyBird/SquishyBird/src/com/coretek/squishybird/GameScreen.java

Bitte helft mir, danke!
 
Hallo, ich habe kurz in deinen Code geschaut. So ohne irgendwelche Kommentierungen macht es keinen Spaß den Fehler zu suchen.

Ich weiß nicht, ob es der Fehler ist. Du setzt die spamTime zwischenzeitlich auf den Wert 10. Und lässt sie nicht bei 1500.
Ich bin mir nicht sicher, ob das so gewollt ist (fehlende Kommentare).
Code:
if(spawnTime > 10){   
            spawnTime-=10;
 }
 
Dadurch soll die Spawn-TIme immer nur schneller werden damit es schwerer wird...hast du Fragen zum Code?
Der Fehler ist iwo ab (isTouched)
 
Du setzt die Variablen delayTime in der Funktion spawnBirds(). D.h. das Tor bleibt solange geschlossen, bist wieder ein Vogel erscheint.
Denn solange ist die Bedingung
Code:
TimeUtils.millis() - delayTime > 1000
erfüllt.

Mein Vorschlag wäre, das Öffnen der Röhren nicht an den Erscheinen des Vogels zu koppeln.
Versuche es mal damit:

Code:
if(TimeUtils.millis() - delayTime > 1000){[INDENT]...
delayTime = TimeUtils.millis();
[/INDENT]}
und streiche in delayTime = TimeUtils.millis() in spawnBirds(). Du muss die delayTime noch einmal als Anfangsbedingung setzen.
 
Danke, hat super geklappt, ich baue das jetzt ein...aber mache dich schonmal auf di enächste frage gefasst

Der ursprüngliche Beitrag von 22:00 Uhr wurde um 22:05 Uhr ergänzt:

So. wie kann ich die Röhren jetzt Smooth zumachen? bei isTouched:

for(int i = 0; i <96; i++){
Asstest.rect_pipe_down.y--);
}

SO klappt das aber nicht ganz, es geht einfach normal zu
 
Ich muss dazwischen auch ein DDelay MAchen, aber wo genau?
 
Hey,

ich erkenne gerade auch keinen Fehler. Aber
(TimeUtils.millis() - smoothTime > 10)


sollte man so nicht schreiben. Auch wenn es in diesem Fall nicht den Fehler hervorruft besser:
((TimeUtils.millis() - smoothTime) > 10)



Hast du dir die x und y Werte schon mal mit Logcat ausgeben lassen?
 
Ja. Habe alles hinbekommen! :D Danke trotzdem
 
An was hats gelegen? :)
Interessiert mich etwas, weil ich gestern bestimmt 20 Minuten gegrübelt habe und mir am ende gedacht hätte "so hätte ich das wahrscheinlich ähnlich aufgebaut" :D
 
Ich habe einfach eine FUnktion gemacht die mit einem int, keiner for-loop immer ++ macht und dann wartet ne bestimmte zeit
 
  • Danke
Reaktionen: ui_3k1
Das muss ich mir merken. Denn diese "zeitäbhängigen" Programmschritte machen bei mir ebenfalls immer wieder Probleme. Mit nem Thread lässt sich da nämlich in den meisten Fällen auch keine Lösung darstellen - jedenfalls ist mir das mit nem Thread bis dato noch nie gelungen. :D
 

Ähnliche Themen

CrazyC
Antworten
4
Aufrufe
873
CrazyC
CrazyC
CrazyC
Antworten
0
Aufrufe
731
CrazyC
CrazyC
CrazyC
Antworten
6
Aufrufe
1.055
CrazyC
CrazyC
Zurück
Oben Unten