cocos 2 d-xノード(b 2 chainShape.h)API
4124 ワード
この文書はhttp://blog.csdn.net/runaying ,引用は出典を明記しなければならない!
cocos 2 d-xノード(b 2 chainShape.h)API
皆さんがもっと勉強できるように、私のブログを見ることを強くお勧めします. Cocos 2 d-X権威ガイドノート
チェーン形状、チェーン形状は自由形式のシーケンスの線分で、チェーンは両面衝突を持っているので、内部または外部衝突を使用することができます.//チェーン形状は、複数のエッジを同時に接続し、ゲームのために静的なゲーム世界を創造する効率的な方法を提供します.チェーン形状は、チェーンとリングを作成する方法を提供し、//希望の形状を提供します.チェーン形状ボックス2 dでは、チェーン形状はb 2 chainShapeによって実現される.
cocos 2 d-xノード(b 2 chainShape.h)API
皆さんがもっと勉強できるように、私のブログを見ることを強くお勧めします. Cocos 2 d-X権威ガイドノート
チェーン形状、チェーン形状は自由形式のシーケンスの線分で、チェーンは両面衝突を持っているので、内部または外部衝突を使用することができます.//チェーン形状は、複数のエッジを同時に接続し、ゲームのために静的なゲーム世界を創造する効率的な方法を提供します.チェーン形状は、チェーンとリングを作成する方法を提供し、//希望の形状を提供します.チェーン形状ボックス2 dでは、チェーン形状はb 2 chainShapeによって実現される.
///cocos2d-x-3.0alpha0/external/Box2D/Collision/Shapes
// , , , 。
// , 。 ,
// 。 , 。 Box2d , b2ChainShape 。
#ifndef B2_CHAIN_SHAPE_H
#define B2_CHAIN_SHAPE_H
#include <Box2D/Collision/Shapes/b2Shape.h>
//
class b2EdgeShape;
// , ,
// , 。 , b2Alloc 。
//
// : ,
// ,
class b2ChainShape : public b2Shape
{
public:
b2ChainShape(); //
/// , b2Free
~b2ChainShape();
// 。
// * : vertices : ,
// count :
void CreateLoop(const b2Vec2* vertices, int32 count);
//
// * : vertices : ,
// count :
void CreateChain(const b2Vec2* vertices, int32 count);
//
// 【 CreateLoop 】
// * : prevVertex :
void SetPrevVertex(const b2Vec2& prevVertex);
//
// 【 CreateLoop 】
// * : vertices :
void SetNextVertex(const b2Vec2& nextVertex);
// * : b2Alloc
// 【 CreateLoop 】
// * : allocator : soa
// * :
b2Shape* Clone(b2BlockAllocator* allocator) const;
//
/// @see b2Shape::GetChildCount
int32 GetChildCount() const;
// :
// * : edge :b2EdgeShape
// index:
/// Get a child edge.
void GetChildEdge(b2EdgeShape* edge, int32 index) const;
// ,
// * : xf :
// p : world
// * : true :
// false:
// false
/// This always return false.
/// @see b2Shape::TestPoint
bool TestPoint(const b2Transform& transform, const b2Vec2& p) const;
// * :
// * : output :
// input :
// transform :
// childeIndex :
// * : true :
// false:
/// Implement b2Shape.
bool RayCast(b2RayCastOutput* output, const b2RayCastInput& input,
const b2Transform& transform, int32 childIndex) const;
// * : , (aabb)
// 【 CreateLoop 】
// * : aabb : aabb
// xf :
// childIndex :
/// @see b2Shape::ComputeAABB
void ComputeAABB(b2AABB* aabb, const b2Transform& transform, int32 childIndex) const;
// :
// Chains 0
// 【 CreateLoop 】
// * : massData :
// density :
/// Chains have zero mass.
/// @see b2Shape::ComputeMass
void ComputeMass(b2MassData* massData, float32 density) const;
//
/// The vertices. Owned by this class.
b2Vec2* m_vertices;
///
int32 m_count;
b2Vec2 m_prevVertex, m_nextVertex; // ,
bool m_hasPrevVertex, m_hasNextVertex; // ,
};
//
inline b2ChainShape::b2ChainShape()
{
m_type = e_chain;
m_radius = b2_polygonRadius;
m_vertices = NULL;
m_count = 0;
m_hasPrevVertex = false;
m_hasNextVertex = false;
}
#endif