所以用下面的代码
public void update(float dt) {
stateTime += dt;
if(State == 1){
if (currentAnimation.isAnimationFinished(stateTime)){
currentAnimation = runAnimation;
State = 0 ;
}
}...在单击时调用斜杠。
public void slash() {
currentAnimation = attackAnimation;
stateTime = 0;
State = 1;
}我遇到的问题是有时攻击动画并不是从动画的第一帧开始的。我想做的是简单的剑斜杠动画,这是所谓的点击。攻击动画必须从动画的第一帧开始。
发布于 2015-11-08 19:02:52
若要使动画从第一帧开始,则在调用动画时,statTime值应为0。
animation.getKeyFrame(statTime,false);
从您刚才的代码中我看不出问题所在,但我建议您这样做:
public void update(float dt) {
if(State == 1){
stateTime += dt;
if (currentAnimation.isAnimationFinished(stateTime)){
currentAnimation = runAnimation;
State = 0 ;
}
}...因此,您可以确保statTime只在动画被调用时才会增加。
如果它不起作用,请留言
祝好运
https://stackoverflow.com/questions/33597527
复制相似问题