2012-04-12 7 views
0

Ich bin neu in AndEngine. Ich benutze animatedSprite und Sprite Object. Ich möchte Sprite auf der Basis eines Beschleunigungsmessers bewegen, aber ich möchte animatedSprite auch nicht bewegen. Ich möchte Physics World ImplementierungÄndern Sprite Position 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); 
} 

Mit diesem Code mBottomSticFace wird nach Beschleunigungsmesser bewegen, aber Körper nicht bewegt.

+0

Ihre Implementierung zu haben, uns Ihren Code zu erhalten, die mit Ihrem Sprit und AnimatedSprite und Ihrer Physik Welt beschäftigt. – Lokiare

Antwort

2

Sie sollten zwei verschiedene Körper erstellen und an Ihre Sprites anhängen. Der Body, der verschoben werden soll, sollte als BodyType.DynamicBody und der andere als BodyType.StaticBody festgelegt werden.

Um Beschleunigungsaufnehmer und Körper Beispiele zu sehen, dies überprüfen: http://code.google.com/p/andengineexamples/source/browse/src/org/anddev/andengine/examples/PhysicsExample.java

+0

Ich möchte zwei Körper des dynamischen Typs. aber ich will nur eine von ihnen bewegt sich vom Beschleunigungsmesser. –

+0

Welche Kräfte müssen Sie auf den Körper auftragen, die sich nicht mit dem Beschleunigungssensor bewegen sollten? –

+0

gibt es einen animierten Sprite, den ich nicht mit Beschleunigungsmesser bewegen möchte. Danke für die Antwort, aber ich mache es von body.setLinearVelocity (Schwerkraft); Jetzt bewegt sich Sprite gut. Jetzt möchte ich das Gewicht für das Sprite erhöhen, wie ich das Gewicht des Sprites erhöhen kann –