我想使用Java Trident库来制作屏幕过渡的动画。
我有一系列的面板排列在一个CardLayout中。当在一个面板上单击JButton时,会显示一个新的面板。我想实现某种淡入动画,而不是让它立即出现。
我读到过,只要将面板移出屏幕,并在我想要过渡时更改x坐标,就可以实现滑入动画。
我试着设置了一些东西,但我知道我做得不对。我需要调用cl.show()来实际显示我想要的面板:
CardLayout cl = (CardLayout)(GameContainer.getLayout());
screenChangeTimeline = new Timeline(cl);
screenChangeTimeline.addPropertyToInterpolate("layout", "MainMenuPanel", "TwoPlayerPanel");
screenChangeTimeline.setDuration(1500);GameContainer是包含CardLayout的面板,所有其他面板都位于其中。
发布于 2012-04-27 02:17:10
使用图像创建动画效果可能更容易,而不是面板的实际滑动。捕获要隐藏的面板和将要显示的面板的图像。使用滑动效果对这些图像进行动画处理。一旦动画完成,交换实际的面板。下面是一个演示类似想法的sample。它使用辅助卡来滚动由两个面板组合而成的图像。
您可能会对现成的解决方案-- Animatingcardlayout感兴趣。它提供了对CardLayout的扩展和一组不同的动画。
此外,请查看Kirill Grouchnikov (三叉树的创建者)- Animating layouts的一系列文章。
发布于 2012-04-27 01:17:34
滑动效果示例http://java-sl.com/tip_slider.html
https://stackoverflow.com/questions/10335917
复制相似问题