效果不错:-)
如果您想在 Swing 中执行此操作,我将采用以下方法:
- 将原始屏幕渲染到屏幕外的 BufferedImage
- 将新屏幕渲染到屏幕外的 BufferedImage
- 通过绘制新屏幕然后用旧屏幕的正确部分在其上绘制,扭曲并旋转到正确的位置,在两者之间进行动画转换(您可以使用 Java2D AffineTransformation 进行旋转/扭曲)
棘手的一点是让位置随着时间的推移以一种看起来很吸引人并且不会导致任何令人讨厌的视觉伪影的方式发生变化。这将需要一些数学和相当多的反复试验!