【发布时间】:2017-04-29 09:55:02
【问题描述】:
我有扩展 Actor 的类。我的动画采用 stateTime 计时器的“act”方法。下面是这个类的片段:
@Override
public void act(float delta) {
super.act(delta);
stateTime += delta;
if(!isDeath) {
...
} else {
if(!animationDead.isAnimationFinished(stateTime)){
textureRegion = animationDead.getKeyFrame(stateTime, true);
}
}
}
animationDead 有 PLAYMODE.NORMAL
我正在尝试使用 '!animationDead.isAnimationFinished(stateTime)' 但它在第一帧后停止了我的动画。我想在最后一帧之后停止动画。
我也在尝试设置 stateTime = 0;但同样,在第一帧后停止。
当我按下空格键时,我的“演员”应该播放战斗动画。但是对于战斗动画的所有帧,我必须保持空格键。一个点击空间是一帧动画。
这里是这个方法的片段:
@Override
public void act(float delta) {
super.act(delta);
stateTime += delta;
if(!isAttacking()) {
...
/* Keyboard events */
...
setAttacking(false);
if (Gdx.input.isKeyPressed(Input.Keys.SPACE)) {
setAttacking(true);
if (moveToRight) {
textureRegion = animationAttack.getKeyFrame(stateTime,true);
} else if (!moveToRight) {
isPlayerFlippedToLeft = true;
textureRegion = animationAttack.getKeyFrame(stateTime,true);
}
setPlayerWidthAndHeight();
}
【问题讨论】:
标签: java android animation libgdx 2d