2

Java Trident ライブラリを使用して画面遷移をアニメーション化したいと考えています。

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

パネルを画面外に移動し、遷移したいときに x 座標を変更するだけで、スライドイン アニメーションが可能であると読みました。

何かを設定しようとしましたが、正しく行っていないことはわかっています。必要なパネルを実際に表示するには、cl.show() を呼び出す必要があります。

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

GameContainer は CardLayout を持つパネルで、他のすべてのパネルはその中に配置されます。

4

2 に答える 2

2

パネルの実際のスライドではなく、画像を使用してアニメーション効果を作成する方が簡単かもしれません。非表示にしているパネルと表示しようとしているパネルの画像をキャプチャします。スライド効果を使用してこれらの画像をアニメーション化します。アニメーションが終了したら、実際のパネルを交換します。これは、同様のアイデアを示すサンプルです。補助カードを使用して、2つのパネルから結合された画像をスクロールします。

すぐに使えるソリューションであるAnimatingcardlayoutに興味があるかもしれません。CardLayoutの拡張機能とさまざまなアニメーションのセットを提供します。

また、Kirill Grouchnikov(Tridentの作成者)による一連の記事をチェックしてください-アニメーションレイアウト

于 2012-04-26T18:17:09.707 に答える
2

スライド効果の例 http://java-sl.com/tip_slider.html

于 2012-04-26T17:17:34.000 に答える