Ken*_*ang 4 action actor libgdx scene2d
我试图使用Action FadeOut消除一个Actor.但是,我发现没有任何动作对我的对象起作用.我的类的层次结构如下:
Actor -> MoveableObject -> Knight
Stage -> KnightGroup (Group) -> Knight
Run Code Online (Sandbox Code Playgroud)
我的骑士演员的动作根本不起作用.但是,我的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());
}
}
Run Code Online (Sandbox Code Playgroud)
我不能为我的生活找出问题所在.在行动MoveableObject(骑士的母公司)也不起作用.我最好的猜测是,在包装的演员Group将render在actions这些演员无效.这KnightGroup是我的代码中非常重要的一部分,我不得不做很多重构才能把它拿出来.别人可以对这个问题有所了解吗?
在Actor类中,该方法act(float delta)调用act(delta)所有已注册Action的Actor.因此,您必须确保super.act(delta)在每个子类中调用Actor,以便调用act(delta)方法Actor.
| 归档时间: |
|
| 查看次数: |
2174 次 |
| 最近记录: |