LibGDX场景2d:赢得行动';I don’我根本不为团体内的演员工作

LibGDX场景2d:赢得行动';I don’我根本不为团体内的演员工作,libgdx,action,actor,scene2d,Libgdx,Action,Actor,Scene2d,我试图用动作淡出法淡出一个演员。然而,我发现,对于我的对象来说,没有动作是完全有效的。我的类的层次结构如下所示: Actor->MoveableObject->Knight 舞台->骑士组(组)->骑士 我的骑士演员的动作根本不起作用。然而,我的骑士团的行动是有效的。以下是我的骑士的密码: 公共职业骑士扩展玩家{ 公共骑士(){ 设定宽度(96); 设置高度(96); 设定位置(100,90); //不起作用 AlphaAction动作=新的AlphaAction(); 作用。setAlpha

我试图用动作淡出法淡出一个演员。然而,我发现,对于我的对象来说,没有动作是完全有效的。我的类的层次结构如下所示:

Actor->MoveableObject->Knight
舞台->骑士组(组)->骑士
我的骑士演员的动作根本不起作用。然而,我的骑士团的行动是有效的。以下是我的骑士的密码:

公共职业骑士扩展玩家{
公共骑士(){
设定宽度(96);
设置高度(96);
设定位置(100,90);
//不起作用
AlphaAction动作=新的AlphaAction();
作用。setAlpha(0f);
动作。设定持续时间(1f);
行动(行动);
//不起作用
添加动作(衰减(1f));
addAction(Actions.scaleBy(1f,1f));
}
@凌驾
公共无效法案(浮动三角洲){
超级法案(德尔塔);
}
@凌驾
公共作废提取(批处理、浮动parentAlpha){
batch.setColor(getColor().r,getColor().g,getColor().b,getColor().a);
绘制(动画[currentState],getX(),getY(),getWidth(),getHeight());
}
}

我一辈子都搞不清楚问题出在哪里。
MoveableObject
(Knight的父对象)中的操作也不起作用。我的最佳猜测是,将参与者包装在
组中
使这些参与者的
操作
无效。奈特集团的
KnightGroup
是我代码中非常关键的一部分,我必须进行大量重构才能将其删除。其他人能解释一下这个问题吗?

Actor
类中,该方法
act(float delta)
调用
act(delta)
来处理该
Actor
的所有注册
操作。因此,您必须确保在
Actor
的每个子类中调用
super.act(delta)
,以便调用
Actor
中的
act(delta)
方法。

是否调用stage.act(delta)?moveBy/moveTo动作有效吗?是的,调用stage.act(delta)。除了行动之外,一切都有效。移动到动作也不起作用。在你的act(增量)玩家类中,你称超级act(增量)吗?这个act(delta)会回到Actor.act(float delta)吗?因为Action.act(delta)在Actor.act(delta)内部被调用,就是这样!我在类层次结构的最顶层缺少一个super.act()。在我添加它之后,一切都如期进行。非常感谢你,伙计!我将其添加为答案,以便您可以将其标记为已解决。