BOX2D 에 관 한 이야기 (2)

3119 단어 게임.float엔진.
다음으로 이동:http://hi.baidu.com/goodlad/blog/item/5df9bd2b439d01ece7cd40f6.html
AddShape(b2ShapeDef* shape)。

        ,           ,            。

           HelloWorld         ,      CompoundShapes  。

   、CompoundShapes

  CompoundShapes          ,   HelloWorld  ,   ,            ,    b2Mat22          ,             。

          HelloWorld    ,      ,                  ,                 。

   、 VaryingRestitution、VaryingFriction、Pyramid、PolyShapes

  Box2D            ,                   ,          ,       ,Pyramid              ,     Make       。       。

  PolyShapes                 ,                  8   。

   、 CollisionFiltering、

                       ,      ,              ,Box2D    16     ,               ,                  ,            ,                ,            ,         ,     

  playerShapeDef.categoryBits = 0x0002;

  monsterShapeDef.categoryBits = 0x0004;

  playerShape.maskBits = 0x0004;

  monsterShapeDef.maskBits = 0x0002;

                         ,                ,          ,       ,         ,                  。

  shape1Def.groupIndex = 2;

  shape2Def.groupIndex = 2;

  shape3Def.groupIndex = -8;

  shape4Def.groupIndex = -8;

    1 2   ,       0, 3 4   ,    0

                   .

   、 ApplyForce

                    ,             ,                。

        ,                ,          。

             ,         ,           。                ,Box2D          。

             ,

  uint32 m_flags;

      :

  b2Vec2 m_position;

       :

  float32 m_rotation;

      :

  b2Vec2 m_linearVelocity;

     :

  float32 m_angularVelocity;

   :

  b2Vec2 m_force;

    :

  float32 m_torque;

     :

  b2Shape* m_shapeList;

     :

  int32 m_shapeCount;

     :

  b2JointNode* m_jointList;

     :

  b2ContactNode* m_contactList;

    :

  float32 m_mass, m_invMass;

  float32 m_I, m_invI;

      :

  float32 m_linearDamping;

     :

  float32 m_angularDamping;

      

  float32 m_sleepTime;

      :

  void* m_userData;

          :

  1、          

  void SetOriginPosition(const b2Vec2& position, float32 rotation);

  2、       

  b2Vec2 GetOriginPosition() const;

  3、             

  void SetCenterPosition(const b2Vec2& position, float32 rotation);

  4、         

  b2Vec2 GetCenterPosition() const;

  5、     

  float32 GetRotation() const;

  6、      

  const b2Mat22& GetRotationMatrix() const;

  7、            

  void SetLinearVelocity(const b2Vec2& v);

  b2Vec2 GetLinearVelocity() const;

  8、        

  void SetAngularVelocity(float32 w);

  float32 GetAngularVelocity() const;

  9、          

  void ApplyForce(const b2Vec2& force, const b2Vec2& point);

  force     ,point    

  10、      

  void ApplyTorque(float32 torque);

  11、         

  void ApplyImpulse(const b2Vec2& impulse, const b2Vec2& point);

  12、    

  float32 GetMass() const;

  13、    

  float32 GetInertia() const;

  14、     (                )

  b2Vec2 GetWorldPoint(const b2Vec2& localPoint);

  15、                    

  b2Vec2 GetWorldVector(const b2Vec2& localVector);

  16、                   

좋은 웹페이지 즐겨찾기