Ich weiß nicht, was mit diesem Code falsch ist. Das Sprite soll sich nach links bewegen, wenn es die rechte Ecke erreicht. aber dieser Code tut, wenn es (Sprite) die rechte Endecke erreicht, stoppt das Sprite einfach.Android libgdx ... Verschieben von Sprite hin und her horizontal
Die Startm ist die linke Ende Ecke, und die ENDM ist die rechte Ende Ecke
//in constructor
position = new Vector2(ShootingTreys.WIDTH*0.48f, ShootingTreys.HEIGHT*0.025f);
// in update
delta = Gdx.graphics.getDeltaTime();
if(ps.touch == false){
if(leftEnd == false && (startM <= ballMeter.getX())){
position.x = ballMeter.getX();
position.x += 20 *delta;
if(endM == ballMeter.getX()){
leftEnd =true;
}
}
else {
position.x = ballMeter.getX();
position.x -= 20 *delta;
if(startM == ballMeter.getX()){
leftEnd = false;
}
}
ballMeter.setPosition(position.x , ballMeter.getY());
Ja vielen Dank, es geht nach links, als es die rechte Ecke erreichte. Aber als es die linke Endecke erreichte, stoppt das Sprite. Wie kann ich das Sprite wieder nach rechts gehen lassen? –
Ich habe Ihren Code nicht ausprobiert, vielleicht, wenn (leftEnd == false || (startM <= ballMeter.getX())) kann ersetzt werden durch if (! LeftEnd) und warum vergleichen Sie Boolean wie If (b = = true) anstatt einfach if (b) zu verwenden und für if (b == false) write if (! b). – Aryan