2013-07-17 60 views
1

我想製作一個球,到目前爲止,我已經在我的圓上呈現爲簡單紋理,並且紋理沒有旋轉球。以下是我迄今爲止:Libgdx和Box2d與CircleSgape一起旋轉紋理

bodyDef = new BodyDef(); 
    bodyDef.type = BodyType.DynamicBody; 
    bodyDef.position.set(new Vector2(240,320)); 
    body = world.createBody(bodyDef); 
    CircleShape dynamicCircle = new CircleShape(); 
    dynamicCircle.setRadius(15f); 
    FixtureDef fixtureDef = new FixtureDef(); 
    fixtureDef.shape = dynamicCircle; 
    fixtureDef.density = 1.0f; 
    fixtureDef.friction = 0.5f; 
    fixtureDef.restitution = 0.8f; 
    body.createFixture(fixtureDef); 
    body.applyTorque(100000000); 

而在渲染我:

batch.setProjectionMatrix(camera.combined); 
    batch.begin(); 
    batch.draw(texture, body.getPosition().x,body.getPosition().y); 
    batch.end(); 
    world.step(BOX_STEP, BOX_VELOCITY_ITERATIONS, BOX_POSITION_ITERATIONS); 

任何想法,我怎樣才能使紋理旋轉呢?提前致謝。

+0

如果解決方案爲您工作,您應該接受答案。 –

回答

2
batch.draw(texture, body.getPosition().x, body.getPosition().y, width/2, height/2, width, height, /*scaleX*/1, /*scaleY*/1, /*rotation*/ body.getAngle() * MathUtils.radToDegree, srcX, srcY, srcWidth, srcHeight, /*flipX*/false, /*flipY*/false); 
+0

您可以擴展如何解決這個問題嗎? –

+0

問題是他無法讓紋理旋轉,但球旋轉。所以上面的函數設置紋理的大小,原點,位置,縮放因子和旋轉值。 –

+0

謝謝你的作品! – BalintD