2012-06-15 5 views
0

DigitalController로 이동하는 동안 스프라이트에 애니메이션을 적용하고 싶습니다. 내가 다음 코드를 가지고 있고, 플레이어를 이동 잘 작동 : 유의 확률이 pvalueX이 -1.0이 남아있는 경우 1.0, 적합한 경우andengine을 움직이는 동안 스프라이트 애니메이션하기

@Override 
public void onControlChange(final BaseOnScreenControl pBaseOnScreenControl, final float pValueX, final float pValueY) { 
    //Evitar que se salga 
    int velocidad = 200; 

    if(pValueX>0) {//Derecha 
     player.animate(new long[]{200, 200, 200}, 0, 2, true); 
    } else { 
     if(pValueX<0){//Izquierda 
      player.animate(new long[]{200, 200, 200}, 3, 5, true); 
      } 
    } 

    /* Sin salir de la cámara */ 
    if (player.getX()<=0) { 
      player.setX(player.getWidth()); 
    } else if((player.getX()+player.getWidth())>=CAMERA_WIDTH){ 
      player.setX(CAMERA_WIDTH-(player.getWidth()*2)); 
    } 

    physicsHandler.setVelocity(pValueX * velocidad, pValueY); 
} 

, 내가하고 싶지 이동 또는 아래로하지 않습니다 만/좌우 . 문제는 player.animate가 조이스틱을 언탭 할 때 시작된다는 것입니다. 조이스틱을 두드리는 동안 시작하고 싶습니다.

답변

1

안녕 내 문제를 해결하십시오.

if(!player.isAnimationRunning()) 
       if(pValueX>0){//Derecha 
        player.animate(new long[]{200, 200, 200}, 0, 2, false); 
       }else{ 
        if(pValueX<0){//Izquierda 
         player.animate(new long[]{200, 200, 200}, 3, 5, false); 
        } 
       } 
:

아이디어는 애니메이션에 사용 sprite.isAnimationRunning() 및 설정 루프 false로 인

관련 문제