Scene2d Window をステージの外に配置するために MoveToAction (または任意のメソッド) を使用する方法を考えています。メニューをスライドインおよびスライドアウトしたい。
マイ ステージとスキンは、マイ ワールド クラスに保存されます。
これらのメソッドは今のところ問題なく動作しますが、アニメーション化はまったく行われません:
Window window = new Window("NoteBook", world.skin);
...
public void closeBook() {
window.remove();
}
public void openBook() {
world.stage.addActor(window);
}
これは、アニメーションを可能にするためにこれらの関数を更新しようとしている方法です。ここでは、初期化中にウィンドウがステージに 1 回追加されているため、これらのメソッドはアニメーションのみを処理します。
public void closeBook() {
MoveToAction action = new MoveToAction();
action.setPosition(-200, -200); // somewhere off screen
action.setDuration(0.5f);
window.addAction(action);
}
public void openBook() {
MoveToAction action = new MoveToAction();
action.setPosition(0, 0); // original location
action.setDuration(0.5f);
window.addAction(action);
}
ウィンドウの動きをアニメートするという点で、これは部分的に機能しているように見えますが、画面の端で停止し、それを通り越すことはありません。ステージのビューポートのサイズを調整してみましたが、それでも常に端で止まります。
問題は、ステージの外側 (または一見外側) に scene2d Window を配置するにはどうすればよいかということです。