Libgdx 如何在 actor 动作完成 finished/completed 之前停止 for 循环

Libgdx how to stop for loop until actor action has finished/completed

我将演员添加到称为单元格的组中,并在 for 循环中将动作添加到组中的一组特定单元格。

我希望在单元格的操作完成之前不会开始循环的下一次迭代。

for (int i = 0; i < cells.length; ++i) {

     cell.addAction(fadeIn(1f));
     // I need to wait here until the action has completed!
}

libgdx 中是否有我可以使用的阻止操作或其他内容?或者有什么具体的方法可以做到这一点?

显然我需要 libgdx 在后台保持 运行 否则操作根本不会完成,我真的不知道该怎么做。

我不能使用 RunnableAction,因为它用于在执行后调用代码,我只是想停止循环迭代。

谢谢,

您可以尝试为计算的淡入开始所需时间设置每个动作的延迟,而不是阻止循环 运行。

像这样:

float delay = 0;
for (int i = 0; i < cells.length; ++i) {
    SequenceAction sa = Actions.sequence(Actions.delay(delay), 
                          Actions.fadeIn(1f));
    cell.addAction(sa);
    delay += 1f; //Increase the delay for the duration of each fadeIn
}

虽然没有测试这个。