2012-04-26 16 views
2

Java Tridentライブラリを使用して画面遷移をアニメーション化したいと考えています。Java Tridentライブラリを使用してCardLayoutのパネルをアニメーション化するにはどうすればよいですか?

私は、一連のパネルをCardLayoutに配置しています。あるパネルでJButtonをクリックすると、新しいパネルが表示されます。私は瞬時に表示するのではなく、何らかのフェードインアニメーションを実装したいと考えています。

スライドインアニメーションは、パネルを画面外に移動して、トランジションするときにx座標を変更するだけで可能です。

私は何かを設定しようとしましたが、私は正しくしていないことを知っています。

CardLayout cl = (CardLayout)(GameContainer.getLayout()); 
screenChangeTimeline = new Timeline(cl); 
screenChangeTimeline.addPropertyToInterpolate("layout", "MainMenuPanel", "TwoPlayerPanel"); 
screenChangeTimeline.setDuration(1500); 

GameContainerはCardLayoutを持っており、他のすべてのパネルが、それの内部に配置されているパネルです:私は実際に私がしたいパネルを表示する)(cl.showを呼び出す必要があります。

答えて

2

それは多分簡単にパネルのスライドを、実際のない画像を使用してアニメーション効果を作成します。隠しているパネルと表示しようとしているパネルの画像をキャプチャします。スライディングエフェクトを使用してこれらの画像をアニメートします。アニメーションが終了したら、実際のパネルを入れ替えます。同様の考え方を示すsampleがあります。補助カードを使用して、2つのパネルから合成された画像をスクロールします。

準備ができているソリューションに興味があります - Animatingcardlayout。これは、CardLayoutと様々なアニメーションのセットを提供します。

また、Kirill Grouchnikov(Tridentの作成者)の一連の記事 - Animating layoutsをチェックしてください。

+0

ありがとうございます。私はAnimatingCardLayoutと一緒に行きました。 – Cuthbert

関連する問題