こんにちは、ここでエンジンを使用して 1 つのアプリを実行しています。ボタンをクリックすると、2 つのスプライトを移動する必要があります。約100の距離があり、アニメーションを停止したい.以下のコードを使用してみましたが、スプライトの開始位置を計算していますが、時間を移動しながら、スプライトの位置を計算していません....
final float centerX = (CAMERA_WIDTH - this.mPaddleTextureRegionbtn.getWidth());
final float centerY = (CAMERA_HEIGHT - this.mPaddleTextureRegionbtn.getHeight()) / 2;
paddle = new Sprite(centerX, centerY, this.mPaddleTextureRegionbtn, this.getVertexBufferObjectManager());
final PhysicsHandler physicsHandler = new PhysicsHandler(paddle);
paddle.registerUpdateHandler(physicsHandler);
scene.attachChild(paddle);
final AnimatedSprite banana = new AnimatedSprite(0, centerY, this.mBananaTextureRegion, this.getVertexBufferObjectManager());
banana.animate(100);
scene.attachChild(banana);
final float centerX1 = (CAMERA_WIDTH - this.mPaddleTextureRegion1.getWidth()) / 38;
final float centerY1 = (CAMERA_HEIGHT - this.mPaddleTextureRegion1.getHeight()) /7;
ButtonSprite moveRightButton = new ButtonSprite(centerX1, centerY1, this.mPaddleTextureRegion1, this.getVertexBufferObjectManager(), new OnClickListener() {
@Override
public void onClick(ButtonSprite pButtonSprite, float pTouchAreaLocalX,
float pTouchAreaLocalY) {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(Pong.this, "Haiii-------------", Toast.LENGTH_LONG).show();
MoveXModifier mod = new MoveXModifier(2, banana.getX(), paddle.getX()-100);
banana.registerEntityModifier(mod);
MoveXModifier mod1 = new MoveXModifier(2, paddle.getX(),banana.getX()+100);
paddle.registerEntityModifier(mod1);
}
});
}
});
scene.attachChild(moveRightButton);
scene.registerTouchArea(moveRightButton);
scene.setTouchAreaBindingOnActionDownEnabled(true);