cocos2d-x节点(b2MouseJoint.h)API
2013-11-28 21:20
417 查看
本文来自http://blog.csdn.net/runaying ,引用必须注明出处!
温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记
//Mouse joints(接头)用于把 body上的一个点作为制定世界的跟踪点
/// 这是一个使用最大力的软约束,这个约束允许在不施加巨大力的情况下伸展
cocos2d-x节点(b2MouseJoint.h)API
温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记//Mouse joints(接头)用于把 body上的一个点作为制定世界的跟踪点
/// 这是一个使用最大力的软约束,这个约束允许在不施加巨大力的情况下伸展
///cocos2d-x-3.0alpha0/external/Box2D/Dynamics/Joints //Mouse joints(接头)用于把 body 上的一个点作为制定世界的跟踪点 /// 这是一个使用最大力的软约束,这个约束允许在不施加巨大力的情况下伸展 #ifndef B2_MOUSE_JOINT_H #define B2_MOUSE_JOINT_H #include <Box2D/Dynamics/Joints/b2Joint.h> /// Mouse joints(接头)定义. 这需要一个 world target(目标) point, /// 调节参数,时间步长 struct b2MouseJointDef : public b2JointDef { b2MouseJointDef() { type = e_mouseJoint; target.Set(0.0f, 0.0f); maxForce = 0.0f; frequencyHz = 5.0f; dampingRatio = 0.7f; } /// 初始化 world target(目标) point. 这假设 body 的锚点开始重合 b2Vec2 target; /// 约束可以施加给移动候选体的最大力 /// 通常你会使用多个weight(重量)表示 float32 maxForce; /// 响应速度 float32 frequencyHz; /// 阻尼比率. 0 = no 阻尼, 1 = 临界阻尼。. float32 dampingRatio; }; /// Mouse joints(接头)用于把 body 上的一个点作为制定世界的跟踪点 /// 这是一个使用最大力的软约束,这个约束允许在不施加巨大力的情况下伸展 /// NOTE: 这个 joints(接头)没有手动记录,因为他是在 testbed(测试平台)里面用作开发的 /// 如果你想学习如何使用鼠标 joints(接头),请查看 testbed(测试平台) class b2MouseJoint : public b2Joint { public: /// Implements b2Joint. //实现 b2Vec2 GetAnchorA() const; /// Implements b2Joint. b2Vec2 GetAnchorB() const; /// Implements b2Joint. b2Vec2 GetReactionForce(float32 inv_dt) const; /// Implements b2Joint. float32 GetReactionTorque(float32 inv_dt) const; /// 使用这个更新target(目标) point void SetTarget(const b2Vec2& target); const b2Vec2& GetTarget() const; /// Set/get 最大力,以牛顿为单位. void SetMaxForce(float32 force); float32 GetMaxForce() const; /// Set/get 频率(以赫兹为单位) void SetFrequency(float32 hz); float32 GetFrequency() const; /// Set/get 阻尼比率 (dimensionless). //量纲 void SetDampingRatio(float32 ratio); float32 GetDampingRatio() const; /// mouse joints(接头)不支持 dumping(阻尼) void Dump() { b2Log("Mouse joint dumping is not supported.\n"); } protected: friend class b2Joint; b2MouseJoint(const b2MouseJointDef* def); void InitVelocityConstraints(const b2SolverData& data); void SolveVelocityConstraints(const b2SolverData& data); bool SolvePositionConstraints(const b2SolverData& data); b2Vec2 m_localAnchorB; b2Vec2 m_targetA; float32 m_frequencyHz; float32 m_dampingRatio; float32 m_beta; // Solver shared b2Vec2 m_impulse; float32 m_maxForce; float32 m_gamma; // Solver temp int32 m_indexA; int32 m_indexB; b2Vec2 m_rB; b2Vec2 m_localCenterB; float32 m_invMassB; float32 m_invIB; b2Mat22 m_mass; b2Vec2 m_C; }; #endif
相关文章推荐
- cocos2d-X 节点(CCLabelTTF.h)API
- cocos2d-X 节点(CCTMXLayer.h)API
- cocos2d-X 节点(CCProcessBase.h)API
- cocos2d-X 节点(UIDragPanel.h)API
- cocos2d-x节点(b2WheelJoint.h)API
- cocos2d-x节点(b2ContactManager.h)API
- cocos2d-x节点(b2GrowableStack.h)API
- cocos2d-x节点(CCProfiling.h)API
- cocos2d-x节点(CCCommon.h)API
- cocos2d-x节点(CCTransitionPageTurn.h)API
- cocos2d-x节点(CCEvent.h)API
- cocos2d-x节点(cocos2d.h)API
- cocos2d-x节点(CCDouble.h)API
- cocos2d-x节点(CCActionInstant.h)API
- cocos2d-X 节点(CCLayer.h)API
- cocos2d-X 节点(CCTileMapAtlas.h)API
- cocos2d-X 节点(SimpleAudioEngine.h)API
- cocos2d-X 节点(CCMotionStreak.h)API
- cocos2d-X 节点(CCTween.h)API
- cocos2d-x节点(b2PulleyJoint.h)API