2011-07-03 5 views
3

Farseer Physics Engine(XNAを使用)でFixtureを回転させるのに少し問題があります。私はその後、正常に動作コードFarseer physics(Box2D) - Fixture around point

carFixture.Body.Rotation -= 0.01f; 

を使用して回転させる

private void setUpPhysics(World gWorld, Vector2 position) 
    { 
     body = new Body(gWorld); 
     body.BodyType = BodyType.Dynamic; 
     carFixture = FixtureFactory.AttachRectangle(ConvertUnits.ToSimUnits(21f), ConvertUnits.ToSimUnits(35f), 5f, ConvertUnits.ToSimUnits(position), body); 
     carFixture.Restitution = 4f; 
     carFixture.Friction = 5f; 
     carFixture.Body.AngularDamping = 1f; 
     carFixture.Body.LinearDamping = 1f; 
    } 

:基本的に、私は次のような設定の固定具を、持っています。問題は、それは常に四角形の左上隅を中心に回転するので、中心を中心に回転する必要があるということです。どのように私はそれの中心に治具を回転について行くだろうか? (私の愚かさには謝ります - 私はFarseer/Box2Dの新人ですが、それがこの問題の大きな原因であることは間違いありませんが、私は数時間前からインターネットを探していて何も見つけていません)

+0

ボディは原点を中心に回転します。治具の中心は(0,0)です。このAttachRectangle関数は、この目的のためにあるように見えるオフセットを取るように見えます。 – iforce2d

答えて

1

身体がその中心を回って回転していたことが判明しましたが、それに取り付けられたテクスチャはその角を回って回転していました。