سؤال

أنا أتساءل عن كيفية استخدام 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);

والتي ينبغي أن تسمح للنافذة بالتحرك خارج المسرح.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top