Java 调用具有不同值的同一动画时';完成了

Java 调用具有不同值的同一动画时';完成了,java,libgdx,Java,Libgdx,我想对libGDX中的Label内部表执行不同的操作 在我的表类中,我创建了一个标签和scale\move\rotate它,我试图在每次操作完成时调用此操作,因此每次它都会在不同的字符串上运行,但我每次都会因为调用我自己而崩溃(我想) 这是每次我完成调用相同方法的正确方法吗?您得到的异常是由无限重复引起的,而在操作激发的方法中添加操作:)则意味着每次将操作添加到操作时,您都会添加动作再次等等等等 第二件事是,当您使用addAction方法添加许多操作时,这些操作是并行的而不是顺序的 解决方案是使

我想对
libGDX
中的
Label
内部表执行不同的操作

在我的
类中,我创建了一个
标签
scale\move\rotate
它,我试图在每次操作完成时调用此操作,因此每次它都会在不同的字符串上运行,但我每次都会因为调用我自己而崩溃(我想)


这是每次我完成调用相同方法的正确方法吗?

您得到的异常是由无限重复引起的,而在
操作
激发的方法中添加
操作
:)则意味着每次将
操作
添加到操作时,您都会添加
动作
再次等等等等

第二件事是,当您使用
addAction
方法添加许多操作时,这些操作是并行的而不是顺序的

解决方案是使用libGDX
SequenceAction
,并在开始时生成所有
操作。它应该是:

    SequenceAction sequence = Actions.sequence();

    for(int i = 0; i < string.length; i++) {
        sequence.addAction(Actions.run(new Runnable() {
                                             @Override
                                             public void run() {
                                                a.setText(strings[i]); 
                                                a.setPosition(a.getWidth() * 0.2f, 50);                                                            
                                             }
                                        }, Actions.scaleBy(30, 20, 5)));
    SequenceAction sequence = Actions.sequence();

    for(int i = 0; i < string.length; i++) {
        sequence.addAction(Actions.run(new Runnable() {
                                             @Override
                                             public void run() {
                                                a.setText(strings[i]); 
                                                a.setPosition(a.getWidth() * 0.2f, 50);                                                            
                                             }
                                        }, Actions.scaleBy(30, 20, 5)));
    //render()
    if(a.getActions.size == 0)
        addActionToA();