Hallo!
Folgendes Problem:
Ich habe eine Sidebar gebaut, die auf Knopfdruck in den Bildschirm slidet (und wieder raus, aber im Prinzip gleicher Code).
Das Problem: Je nach Wille des Computers gibt es Haker, Lags, Animation rennt nicht flüssig ab.
Nun ist die Frage, wie kann ich dieses Problem beheben, damit er gleichmäßig den Slide durchführt.
Zum Code: Anfangs geht die Animation bisschen schneller (bis 300px, dann wird sie zunehmend langsamer, damit ein "Smooth" entsteht, gewollt). "windoh" ist ein JWindow, ausgelöst wird die Animation durch ein JFrame (ein Pfeil an der rechten Kante des Bildschirms).
Problem hierbei wird das sleep sein, weil es nicht immer genau gleichmäßig ausgeführt wird. Doch welche Alternative gibt es dafür?
Wäre nett, wenn mir jemand helfen könnte
Folgendes Problem:
Ich habe eine Sidebar gebaut, die auf Knopfdruck in den Bildschirm slidet (und wieder raus, aber im Prinzip gleicher Code).
Das Problem: Je nach Wille des Computers gibt es Haker, Lags, Animation rennt nicht flüssig ab.
Nun ist die Frage, wie kann ich dieses Problem beheben, damit er gleichmäßig den Slide durchführt.
Zum Code: Anfangs geht die Animation bisschen schneller (bis 300px, dann wird sie zunehmend langsamer, damit ein "Smooth" entsteht, gewollt). "windoh" ist ein JWindow, ausgelöst wird die Animation durch ein JFrame (ein Pfeil an der rechten Kante des Bildschirms).
Problem hierbei wird das sleep sein, weil es nicht immer genau gleichmäßig ausgeführt wird. Doch welche Alternative gibt es dafür?
Java:
for (int i = 0; i < 430; i++) {
windoh.setLocation(x - i, y);
windoh.repaint();
if (i < 300) {
try {
Thread.sleep(0, 1000);
} catch (InterruptedException ex) {
}
continue;
}
if (i >= 300 && i < 350) {
try {
Thread.sleep(3);
} catch (InterruptedException ex) {
}
continue;
}
if (i >= 350 && i < 400) {
try {
Thread.sleep(5);
} catch (InterruptedException ex) {
}
continue;
}
if (i >= 400 && i < 430) {
try {
Thread.sleep(10);
} catch (InterruptedException ex) {
}
continue;
}
}
Wäre nett, wenn mir jemand helfen könnte