У меня есть прямоугольник в сцене, который я хочу перевести на линейный путь в JavaFX с помощью таймера. Для каждых миллисекунд mSecs я хочу, чтобы прямоугольник переводил расстояние d вдоль плоскости xy в JavaFX. Я знаю, как просто перевести что-то с помощью rec.setX(x) и rec.setY(y) и заставить его двигаться. Я не хочу использовать анимацию или какой-либо сложный класс, я просто хочу, чтобы таймер запускался, и каждый раз, когда он достигает определенного приращения, я хочу переводить этот прямоугольник на определенную величину. Простая, базовая анимация, как флипбук. Может ли кто-нибудь помочь и/или направить меня к правильному API класса?
Переведите прямоугольник для сцены с помощью таймера в JavaFX
comment
Почему бы просто не использовать TranslateTransition? Это именно то, для чего он предназначен.
- person James_D   schedule 24.03.2015
comment
Я попробую это, спасибо за ваш быстрый ответ.
- person JCoder   schedule 24.03.2015
comment
Обратите внимание, почему вы хотите избежать анимации. Обратите внимание, что API-интерфейсы анимации спроектированы таким образом, что они пропускают кадры, когда ваша система находится под нагрузкой, вместо того, чтобы замедлять анимацию. В большинстве случаев вам нужен фреймдроп. Исключение составляет программирование симуляции, и в этом случае вы не можете позволить себе пропустить шаг симуляции.
- person Tomas Mikula   schedule 24.03.2015
comment
Мне нужен прямоугольник, который я могу перевести в определенную позицию. Первая фаза заключалась в том, чтобы выяснить, как ее перевести, вторая фаза — научиться переводить ее в определенную позицию.
- person JCoder   schedule 24.03.2015
Ответы (1)
Поместите прямоугольник на сцену. Рассчитайте dx и dy в зависимости от вашей начальной и конечной точки или, в вашем случае, в зависимости от d и угла. Используйте AnimationTimer в качестве своего (игрового) цикла. Увеличивайте x и y на dx и dy в каждом кадре анимации, пока прямоугольник не достигнет места назначения.
person
Roland
schedule
24.03.2015