cocos2d-x节点(b2Draw.h)API

来源:互联网 发布:控制反转和依赖注入php 编辑:程序博客网 时间:2024/05/17 22:07

本文来自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;};