Java ";爪哇语;做动画的方法
我想用Java做动画。我看过: 令我惊讶的是,在计时器操作处理程序中:Java ";爪哇语;做动画的方法,java,swing,animation,Java,Swing,Animation,我想用Java做动画。我看过: 令我惊讶的是,在计时器操作处理程序中: 我们实际上并不绘制函数调用;我们只是更新状态——因此计时器动作似乎用于“模拟” 我们请求重新喷漆 Swing在方便时重新绘制其请求 我觉得这有点奇怪,因为: Swing可以将多个重绘请求整理为一个请求 如果我在计时器中计算fps,我可能会计数过多(因为多个重绘变成一个) 问:我是否误读了示例代码,或者这是用Java制作动画的“正确”方法 谢谢 单独进行状态更新和渲染是很正常的 Java/Swing在这方面非常正常 原
- 我们实际上并不绘制函数调用;我们只是更新状态——因此计时器动作似乎用于“模拟”
- 我们请求重新喷漆
- Swing在方便时重新绘制其请求
- Swing可以将多个重绘请求整理为一个请求
- 如果我在计时器中计算fps,我可能会计数过多(因为多个重绘变成一个)
谢谢 单独进行状态更新和渲染是很正常的 Java/Swing在这方面非常正常 原因:
- 很多事情都可以更新状态(计时器事件、用户输入等),因此非常轻量地进行更改并将其与屏幕刷新分离非常有用,这样您就可以随时进行更改
- 您通常希望屏幕刷新以与模型状态更新不同的速率运行。通常,您希望动画/状态更新有固定的间隔,但希望屏幕刷新尽可能快。如果在动画中进行插值,则尤其如此
- 渲染通常需要在特定上下文中进行(在本例中为Swing UI线程)。您不一定希望将状态更改限制为仅在此上下文中发生
- 将视图(屏幕显示)与数据模型分开是一种很好的做法。除了具有良好的概念设计区别外,这还允许您独立于显示器测试数据模型、在没有GUI的服务器上运行模型版本等