2017-01-31 1 views
-1

Ich verwende einen Animationstimer. Es läuft zwei Funktionen. Einer bewegt meine Objekte und der andere prüft, ob meine Objekte kollidieren. Wenn es eine Kollision gibt, gibt meine zweite Funktion true zurück. All das ist in Ordnung. Ich kann den Animationstimer jedoch nicht stoppen.JavaFx Animations-Timer stoppt in sich selbst- Möglich?

Fehler: Variable MyTimer wurde möglicherweise nicht initialisiert. Das macht Sinn, wenn meine Objekte kollidieren, bevor der Animationstimer gestartet wurde (wenn sie spawnen - das wird nie passieren, aber es wird sowieso nicht laufen). Kann ich das irgendwie umgehen?

UPDATE

this.stop(); Funktioniert perfekt Danke @fabian

+0

wo ist Ihre Variable "Kollision", und welche Bedingung haben Sie es gegeben? Wie hast du die Kollision berechnet? –

+0

sollte 'collision = true' nicht' collision == true' sein? – Gabriel

+0

In meiner Funktion wird geprüft, ob zwei Objekte kollidieren. All dieser Code ist in Ordnung, es stoppt nur die Animation, so dass ich die Szene ändern kann. Die Kollision gibt nur wahr oder falsch zurück, was funktioniert, wenn ich die MyTimer.stop() herausnehme und sie durch eine Druckanweisung ersetze. – Dynermite

Antwort

-1

this.stop();

Arbeitete perfekt, da der Animationstimer nicht initialisiert werden muss, was mein Problem löst.