アニメーション化されたスプライトが物理ハンドラでアニメーションを実行しない:
AndEngine GLES2のAnalogOnScreenControlを使用してスプライトを移動しています。スプライトは人なので、脚の動きを示すために、アニメーション化されたスプライトにしました:
final AnimatedSprite person = new AnimatedSprite(personX, personY,
this.mPersonTextureRegion, vertexBufferObjectManager);
person.setScaleCenterY(this.mPersonTextureRegion.getHeight());
person.setScale(2);
動きのために、私は物理ハンドラを作成しています:
final PhysicsHandler physicsHandler = new PhysicsHandler(person);
person.registerUpdateHandler(physicsHandler);
scene.attachChild(person);
これはスクリーン コントロールのコードです。
final AnalogOnScreenControl analogOnScreenControl = new AnalogOnScreenControl(
0, CAMERA_HEIGHT
- this.mOnScreenControlBaseTextureRegion.getHeight(),
this.mCamera, this.mOnScreenControlBaseTextureRegion,
this.mOnScreenControlKnobTextureRegion, 0.1f, 200,
this.getVertexBufferObjectManager(),
new IAnalogOnScreenControlListener() {
@Override
public void onControlChange(
final BaseOnScreenControl pBaseOnScreenControl,
final float pValueX, final float pValueY) {
physicsHandler
.setVelocity(pValueX * 100, pValueY * 100);
person.animate(new long[] { 200, 200, 200 }, 3, 5,
false);
}
スクリーン コントロールは、アニメーション化されたスプライトに対して問題なく動作しますが、物理ハンドラを作成すると、アニメーション化されません。しかし、物理ハンドラーを作成しないとアニメーション化されます。では、物理ハンドラーを作成してもアニメーション化されないのはなぜですか?