نافذة موضع libgdx خارج المسرح
سؤال
أنا أتساءل عن كيفية استخدام MoveToAction (أو أي طريقة) لوضع نافذة Scene2d خارج المسرح.أريد أن تنزلق القائمة للداخل والخارج.
يتم تخزين مرحلتي وبشرتي في تصنيفي العالمي.
تعمل هذه الطرق بشكل جيد في الوقت الحالي، بينما لا تعمل على تنشيطها على الإطلاق:
Window window = new Window("NoteBook", world.skin);
...
public void closeBook() {
window.remove();
}
public void openBook() {
world.stage.addActor(window);
}
هذه هي الطريقة التي أحاول بها تحديث هذه الوظائف للسماح بالرسوم المتحركة.هنا تتم إضافة النوافذ بالفعل إلى الجزء الرئيسي مرة واحدة أثناء عملية init، لذا فإن هذه الطرق تتعامل مع الرسوم المتحركة فقط.
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);
}
يبدو أن هذا يعمل جزئيًا، حيث أنه ينشط حركة النافذة، لكنه يتوقف عند حافة الشاشة ولن يتجاوزها.لقد حاولت ضبط أبعاد إطار العرض الخاص بالمنصة، لكنها لا تزال تتوقف دائمًا عند الحافة.
لذا فإن السؤال هو، كيف يمكنني وضع نافذة مشهد ثنائي الأبعاد خارج (أو على ما يبدو خارج) المسرح؟
المحلول
جرب هذا:
window.setKeepWithinStage(false);
والتي ينبغي أن تسمح للنافذة بالتحرك خارج المسرح.