그래서 두 번 실행 한 후에 애니메이션을 중지하려고합니다. animate
필드에 해당하는 경우Libgdx 애니메이션 루프를 두 번만 실행하십시오.
if(animate){
stateTime += Gdx.graphics.getDeltaTime(); //stateTime was initialized to 0
currentFrame.setRegion(blink.getKeyFrame(stateTime, true));
}
else
currentFrame.setRegion(defaultRegion); // again, my own field!
모든 것이 uptill 여기 잘 작동 : 나는이 내가 내 현재 프레임을 얻는 방법이다
Animation blink = new Animation(BLINK_TIME, frames); // parameters are my fields
을 설정하여 애니메이션을 재생하고 있습니다.
if(blink.isAnimationFinished(stateTime)){
blinkTimes++;
if(blinkTimes>=2)
animate = false;
}
문제는 isAnimationFinished(stateTime)
가 호출되지 없구요입니다 : 지금은 애니메이션을 중지하려면,이 내가 그것을 위해 할 것입니다. 애니메이션 반복으로 뭔가를해야한다고 생각합니다. 누군가 올바른 방향으로 나를 가리킬 수 있습니까? 감사합니다.
답변 해 주셔서 감사합니다. 내가 다시 확인해, 내 stateTime은 내 클래스의 생성자에만 있고 위의 코드가 내 렌더링 메서드에 있습니다. 내 stateTime를 기록, 여기있다 : 주 시간 : 0.017742615 주 시간 : 0.03272076 주 시간 : 0.04981166 주 시간 : 0.066713706 주 시간 : 0.08279193 주 시간 : 0.105113775 주 시간 : : 0.11688316 주 시간 : 0.13282415 주 시간 : 0.15010346 주 시간 : 0.16728222 주 시간 : 0.18312132 주 시간 : 0.20014429는 이 또한 내가 blink.isAnimationFinished 코드 블록 내부를 기록하고 발견 제어가 결코 도달하지 ! – Jazib