【问题标题】:Translate a rectangle for a Scene using a Timer in JavaFX在 JavaFX 中使用 Timer 为场景转换矩形
【发布时间】:2015-03-23 22:32:04
【问题描述】:

我在场景中有一个矩形,我想使用计时器在 JavaFX 中的线性路径上进行转换。对于每 mSecs 毫秒,我希望矩形沿 JavaFX 中的 xy 平面平移 d 距离。我知道如何使用 rec.setX(x) 和 rec.setY(y) 简单地翻译一些东西,并让它四处移动。我不想使用动画或任何复杂的类,我只想启动一个计时器,每次它滴答作响一定的增量时,我想将该矩形平移一定的量。简单,基本的动画,如翻书。任何人都可以帮助和/或将我推荐给适当的类 API 吗?

【问题讨论】:

  • 为什么不直接使用 TranslateTransition?这正是它的设计目的。
  • 我会试试的,谢谢你的快速回复。
  • 请注意为什么要避免动画。请注意,动画 API 的设计是为了在您的系统处于负载状态时丢帧,而不是减慢您的动画速度。大多数时候,你想要丢帧。一个例外是在对模拟进行编程时,在这种情况下您不能跳过模拟步骤。
  • 我想要一个可以平移到某个位置的矩形。第一阶段是弄清楚如何翻译它,第二阶段是学习如何将它翻译到某个位置。

标签: java timer javafx translate scene


【解决方案1】:

将矩形放在场景上。根据您的起点和终点计算 dx 和 dy,或者在您的情况下根据 d 和角度计算。使用AnimationTimer 作为您的(游戏)循环。在每个动画帧中将 x 和 y 增加 dx 和 dy,直到 Rectangle 到达目的地。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-31
    • 2020-03-23
    • 2016-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多