Одно из моих недавних заданий на Java (курс средней школы ...) - создать апплет, в котором нарисована граница, и шар движется по экрану, подпрыгивая на границах.У меня установлен Fraps, и он сообщает, что апплет работает только со скоростью 10 кадров в секунду, что делает анимацию очень посредственной.
Мой оригинальный способ рисования анимации:
- вызовите мой метод:
drawScreen()
in paint()
- с
Thread.sleep(1000/frameRate)
паузой в drawScreen()
для частоты кадров, которая передается из html
- call
repaint()
Это сработало чудесно, и апплет работал как сон ... Пока я не увидел оценочный лист, где говорилось, что я не должен перерисовывать экран каждый раз (может быть,это потому, что компьютеры работают необычно медленно, и мои друзья жалуются, что их апплеты мерцают достаточно, чтобы вызвать дискомфорт в глазах и много слез повсюду), и я должен нарисовать шар, а затем нарисовать другой шар тот же цвет фона , чтобы скрыть его, вычислить координаты и повторять до тех пор, пока апплет не закроется
Проблема в том, что
repaint()
не можетназываться - моя анимация ограничена 10 кадрами в секунду
- нет доступных потоков, чтобы ответить мне, щелкнув закрыть на appletviewer или что-то еще в апплете / средстве просмотра.
Есть лиспособ для моей анимации работать со скоростью более 10 кадров в секунду без использования repaint()
?