Libgdx: Action.OnCompletionListener

تم إنشاؤها على ١٤ فبراير ٢٠١٤  ·  3تعليقات  ·  مصدر: libgdx/libgdx

لم أتمكن من العثور على طريقة للتحقق مما إذا كان الإجراء الخاص قد انتهى. شيء مثل إجراء الواجهة. OnCompletionListener مثل Music.OnCompletionListener سيكون رائعًا حقًا.

الإجراء أ = Actions.fadeOut (10) ؛
a.setOnCompletionListener (new Action.OnCompletionListener () {
//قم بعمل ما.
})

هل هناك سبب خاص لعدم وجود شيء مثل هذا متكامل؟

التعليق الأكثر فائدة

يمكنك استخدام:

sequence(someAction, new Action() {
    public boolean act (float delta) {
        // This runs when someAction is done.
        return true;
    }
});
// OR, one line of code less:
sequence(someAction, run(new Runnable() {
    public void run () {
        // This runs when someAction is done.
    }
}));

لا أستطيع التفكير في سيناريو يكون فيه المستمع الكامل أكثر فائدة.

ال 3 كومينتر

يمكنك استخدام:

sequence(someAction, new Action() {
    public boolean act (float delta) {
        // This runs when someAction is done.
        return true;
    }
});
// OR, one line of code less:
sequence(someAction, run(new Runnable() {
    public void run () {
        // This runs when someAction is done.
    }
}));

لا أستطيع التفكير في سيناريو يكون فيه المستمع الكامل أكثر فائدة.

حسنًا ، هذا جيد! شكرا جزيلا. لم تكن تعلم أنه يمكنك دمج أفعالك بهذه السهولة.

بالمناسبة ، هل يمكنك أن تشرح لي ما يفعله AfterAction (Actions.after (Action))؟ لم أستطع معرفة ماذا. تعثرت عليه أثناء البحث عن طريقة المستمع.

نعم ، الفكرة بأكملها مع الإجراءات هي أنه يمكنك بسهولة كتابة ما تريد. :)

AfterAction "ينفذ إجراءً فقط بعد انتهاء جميع الإجراءات الأخرى على الممثل وقت إضافة هذا الإجراء." لذلك تضيف الإجراء ولا يكتمل حتى تنتهي جميع الإجراءات الأخرى. يمكنك استخدام هذا لمنع تسلسل لجعل الأشياء تحدث بعد أشياء أخرى.

CountdownEventAction هي طريقة أخرى للتحكم في حدوث أفعال بعد أشياء أخرى. شاهد هذا الموضوع ومقالة المدونة المرتبطة من هناك:
http://www.badlogicgames.com/forum/viewtopic.php؟t=12322&p=56104

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات