我想在使用 DigitalController 移动时为精灵设置动画。我有下一个代码,并且可以很好地移动播放器:
@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);
}
如果 pValue 是 1.0 是正确的,如果 pvalueX 是 -1.0 是左,我不想向上或向下移动,只能向左/向右移动。问题是当我松开操纵杆时 player.animate 开始,我想在我敲击操纵杆时开始。