لم أتمكن من العثور على طريقة للتحقق مما إذا كان الإجراء الخاص قد انتهى. شيء مثل إجراء الواجهة. 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.
}
}));
لا أستطيع التفكير في سيناريو يكون فيه المستمع الكامل أكثر فائدة.
حسنًا ، هذا جيد! شكرا جزيلا. لم تكن تعلم أنه يمكنك دمج أفعالك بهذه السهولة.
بالمناسبة ، هل يمكنك أن تشرح لي ما يفعله AfterAction (Actions.after (Action))؟ لم أستطع معرفة ماذا. تعثرت عليه أثناء البحث عن طريقة المستمع.
نعم ، الفكرة بأكملها مع الإجراءات هي أنه يمكنك بسهولة كتابة ما تريد. :)
AfterAction "ينفذ إجراءً فقط بعد انتهاء جميع الإجراءات الأخرى على الممثل وقت إضافة هذا الإجراء." لذلك تضيف الإجراء ولا يكتمل حتى تنتهي جميع الإجراءات الأخرى. يمكنك استخدام هذا لمنع تسلسل لجعل الأشياء تحدث بعد أشياء أخرى.
CountdownEventAction هي طريقة أخرى للتحكم في حدوث أفعال بعد أشياء أخرى. شاهد هذا الموضوع ومقالة المدونة المرتبطة من هناك:
http://www.badlogicgames.com/forum/viewtopic.php؟t=12322&p=56104
التعليق الأكثر فائدة
يمكنك استخدام:
لا أستطيع التفكير في سيناريو يكون فيه المستمع الكامل أكثر فائدة.