2012-04-12 18 views
0

私はAndEngineを新しくしました。私は、animatedSpriteとSpriteオブジェクトを使用します。私は加速度計に基づいてスプライトを移動したいと思いますが、私はanimatedSpriteも移動したくありません。私は加速度に応じて移動します。このコードmBottomSticFaceでphysicsworld実装スプライト位置を変更するonAccelerometerChanged

private void addBottomFace(final float pX, final float pY) { 
    myBottomSticFace = new Sprite(pX, pY, myBottomStickTextureRegion); 
    myBottomStickBody = PhysicsFactory.createBoxBody(this.myPhysicsWorld, myBottomSticFace, BodyType.DynamicBody, myFixtureDef); 

    this.myScene.attachChild(myBottomSticFace); 
    this.myPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(myBottomSticFace, myBottomStickBody, true, true)); 
} 


@Override 
public void onAccelerometerChanged(AccelerometerData pAccelerometerData) { 
    final Vector2 gravity = Vector2Pool.obtain(pAccelerometerData.getX(), pAccelerometerData.getY()); 
    myBottomSticFace.setPosition(myBottomSticFace,getX() + pAccelerometerData.getX(), myBottomSticFace,getY()); 
    Vector2Pool.recycle(gravity); 
} 

をしたいが、体が移動していません。

+0

はこれをチェックし、加速度計や体の例を参照してください。 – Lokiare

答えて

2

2つの異なるボディを作成し、スプライトに貼り付ける必要があります。 移動するBodyはBodyType.DynamicBodyとして設定し、もう1つはBodyType.StaticBodyに設定します。あなたが私達にあなたのスプライトとAnimatedSpriteとあなたの物理学の世界の実装を扱うあなたのコードを表示しているつもり http://code.google.com/p/andengineexamples/source/browse/src/org/anddev/andengine/examples/PhysicsExample.java

+0

私は2つのダイナミックタイプのボディが必要です。しかし、私はそれらのうちの1つだけを加速度計から動かしたいと思う。 –

+0

加速度計で動かすべきではない身体にどのような力を加える必要がありますか? –

+0

私は加速度計で移動したくないアニメーションスプライトがあります。回答ありがとうございますが、私はbody.setLinearVelocity(重力)でそれを行います。今Spriteはうまく動きます。今私はスプライトの重量を増やしたいのですが、どうすればスプライトの重量を増やすことができますか? –

関連する問題