4
我想使用Action FadeOut淡出演員。但是,我發現沒有任何操作對我的對象起作用。我的類的層次結構是這樣的:LibGDX Scene2D:對於組內的演員來說,動作完全不起作用
Actor -> MoveableObject -> Knight
Stage -> KnightGroup (Group) -> Knight
操作我的騎士演員根本就不工作。但是,我的KnightGroup小組的行動起作用。這裏是我的騎士的代碼:
public class Knight extends Players {
public Knight() {
setWidth(96);
setHeight(96);
setPosition(100, 90);
//Doesn't work
AlphaAction action = new AlphaAction();
action.setAlpha(0f);
action.setDuration(1f);
addAction(action);
//Doesn't work
addAction(fadeOut(1f));
addAction(Actions.scaleBy(1f, 1f));
}
@Override
public void act(float delta){
super.act(delta);
}
@Override
public void draw(Batch batch, float parentAlpha) {
batch.setColor(getColor().r, getColor().g, getColor().b, getColor().a);
batch.draw(animation[currentState], getX(), getY(), getWidth(), getHeight());
}
}
我不能爲了我的生活找出問題所在。 MoveableObject
(奈特的父母)的行爲也不起作用。我最好的猜測是,包裝演員在Group
將render
actions
這些演員無效。 KnightGroup
是我的代碼中非常重要的一部分,但我必須做很多重構才能將它取出。其他人可以解釋這個問題嗎?
你打電話給stage.act(delta)嗎? moveBy/moveTo Action是否工作? – Springrbua
是的,stage.act(delta)被調用。除了行動之外,一切都有效moveTo動作也不起作用。 –
在act(delta)的玩家類中,你叫super.act(delta)嗎?這是否行動(三角洲)回到Actor.act(浮動增量),因爲Action.act(增量)被稱爲內Actor.act(增量) – Springrbua