本文来自http://blog.csdn.net/runaying ,引用必须注明出处!

cocos2d-x节点(b2Draw.h)API

温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记

// 调试辅助类主要辅助box2d中物体的调试,通过绘制不同的调试辅助的形状,来监控并改正物体行为的正确性

///cocos2d-x-3.0alpha0/external/Box2D/Common
// 调试辅助类主要辅助box2d中物体的调试,通过绘制不同的调试辅助的形状,来监控并改正物体行为的正确性

#include <Box2D/Common/b2Math.h>

///  调试绘制的颜色,每个值都在[0,1]之间
struct b2Color
{
    b2Color() {}    //默认构造函数
    b2Color(float32 r, float32 g, float32 b) : r(r), g(g), b(b) {}              // 构造函数  参数说明: r : 红色值部分  g :绿色值部分   b :蓝色值部分
    void Set(float32 ri, float32 gi, float32 bi) { r = ri; g = gi; b = bi; }    //:设置颜色函数   参数说明: r : 红色值部分  g :绿色值部分   b :蓝色值部分
    float32 r, g, b;        //代表红、绿、蓝的变量
};

/// //在b2World中实现并注册这个类,以便提供调试绘制不同的物理实体在你的游戏中
class b2Draw
{
public:
    b2Draw();               //构造函数
    
    virtual ~b2Draw() {}        //析构函数
    
    enum
    {
        e_shapeBit                = 0x0001,    ///< 绘制形状
        e_jointBit                = 0x0002,    ///<绘制关节联系
        e_aabbBit                = 0x0004,    ///< 绘制轴对齐边框
        e_pairBit                = 0x0008,    ///<  绘制broad-phase pairs
        e_centerOfMassBit        = 0x0010    ///< 绘制质心框架
    };
    
    /// 设置绘制标志位
    void SetFlags(uint32 flags);
    
    /// 获得绘制标志位
    uint32 GetFlags() const;
    
    /// 追加绘制标志位
    void AppendFlags(uint32 flags);
    
    /// 从当前标志中清除标志
    void ClearFlags(uint32 flags);
    
    /// 按照提供的顶点绘制逆时针方式闭合的多边形 参数说明: vertices      :顶点  vertextexCount: 顶点数量   color         : 颜色
    virtual void DrawPolygon(const b2Vec2* vertices, int32 vertexCount, const b2Color& color) = 0;
    
    ///按照提供的顶点绘制逆时针方式闭合的并填充颜色的多边形 参数说明: vertices      :顶点  vertextexCount: 顶点数量   color         : 颜色
    virtual void DrawSolidPolygon(const b2Vec2* vertices, int32 vertexCount, const b2Color& color) = 0;
    
    ///绘制一个圆 参数说明: center      :向量  radius      : 半径     color       : 颜色
    virtual void DrawCircle(const b2Vec2& center, float32 radius, const b2Color& color) = 0;
    
    ///:绘制一个填充颜色的圆  参数说明: center      :向量  radius      : 半径     color       : 颜色
    virtual void DrawSolidCircle(const b2Vec2& center, float32 radius, const b2Vec2& axis, const b2Color& color) = 0;
    
    ///绘制一段线段  参数说明: p1      :开始点    p2      : 结束点  color   : 颜色
    virtual void DrawSegment(const b2Vec2& p1, const b2Vec2& p2, const b2Color& color) = 0;
    
    /// :绘制一个变换,选择你的长度比例。
    /// @param xf 变换
    virtual void DrawTransform(const b2Transform& xf) = 0;
    
protected:
    uint32 m_drawFlags;
};


Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐