cocos2d-x节点(b2Shape.h)API
来源:互联网 发布:在线java编译器 编辑:程序博客网 时间:2024/05/07 16:43
本文来自http://blog.csdn.net/runaying ,引用必须注明出处!
cocos2d-x节点(b2Shape.h)API
温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记
// shape中基本上都是虚函数,是没有实现的。shape中定义了以下几个函数:
// 1、克隆一个形状
// 2、获取孩子形状类型
// 3、获取形状的孩子元素的数量
// 4、投射一束光到一个孩子形状中
// 5、计算一个孩子形状的轴对齐包围盒(aabb)
// 7、测试形状中点的密封性。
// 6、计算形状的质量
///cocos2d-x-3.0alpha0/external/Box2D/Collision/Shapes// shape中基本上都是虚函数,是没有实现的。shape中定义了以下几个函数:// 1、克隆一个形状// 2、获取孩子形状类型// 3、获取形状的孩子元素的数量// 4、投射一束光到一个孩子形状中// 5、计算一个孩子形状的轴对齐包围盒(aabb)// 7、测试形状中点的密封性。// 6、计算形状的质量#ifndef B2_SHAPE_H#define B2_SHAPE_H#include <Box2D/Common/b2BlockAllocator.h>#include <Box2D/Common/b2Math.h>#include <Box2D/Collision/b2Collision.h>// 这个拥有质量,用于形状的计算struct b2MassData{ // 形状的质量,通常单位是kg float32 mass; //形状的质心到形状的原点 b2Vec2 center; //形状的转动惯量 float32 I;};//一个形状用于碰撞检测。只要你喜欢,你可以创建一个形状。// 在b2World世界中,形状用于模拟,当创建一个b2Fixture时将被自动创建。//形状类将被封装成一个或多个子形状类class b2Shape{public: //形状类型 enum Type { e_circle = 0, //圆形 e_edge = 1, //边缘形状 e_polygon = 2, //多边形 e_chain = 3, //链形状 e_typeCount = 4 //形状总数 }; virtual ~b2Shape() {} // 功能描述:用soa块分配器克隆一个具体的形状 // * 参数说明: allocator :soa分配器对象指针 // * 返 回 值: 形状指针 virtual b2Shape* Clone(b2BlockAllocator* allocator) const = 0; // * 功能描述:获取孩子形状类型,你可以使用它去创建形状 // * 参数说明: (void) // * 返 回 值: 孩子形状个数 Type GetType() const; // * 功能描述:获取形状的孩子元素的数量, // 主要用于chainShape中,到时我们再谈 // * 参数说明: (void) // * 返 回 值: 孩子元素的数量 virtual int32 GetChildCount() const = 0; // * 功能描述:在这个形状中测试这个点的密封性,只适合用于凸的形状 // * 参数说明: xf : 形状的变换 // p : world坐标中的一个点 // * 返 回 值: true : 密封 // false:敞开 virtual bool TestPoint(const b2Transform& xf, const b2Vec2& p) const = 0; // * 功能描述:投射一束光到一个孩子形状中 // * 参数说明: output :输出光线投射的结果 // input :输入光线投射 // transform :变换应用到此形状中 // childeIndex :孩子形状索引 // * 返 回 值: true : 成功 z // false:失败 virtual bool RayCast(b2RayCastOutput* output, const b2RayCastInput& input, const b2Transform& transform, int32 childIndex) const = 0; // 给出一个变换,计算一个孩子形状的轴对齐包围盒(aabb) // * 参数说明: aabb : 孩子形状的aabb指针 // xf : 一个变换的引用 // childIndex : 孩子的索引值 virtual void ComputeAABB(b2AABB* aabb, const b2Transform& xf, int32 childIndex) const = 0; // * 功能描述:用它的大小和密度计算形状的质量 // * 参数说明: massData : 计算形状的质量 // density : 密度 virtual void ComputeMass(b2MassData* massData, float32 density) const = 0; //形状类型 Type m_type; float32 m_radius; //半径};//获取形状类型inline b2Shape::Type b2Shape::GetType() const{ return m_type;}#endif
- cocos2d-x节点(b2Shape.h)API
- cocos2d-x节点(cocos2d.h)API
- cocos2d-X 节点(CCNode.h)API
- cocos2d-X 节点(CCLayer.h)API
- cocos2d-X 节点(CCMenu.h)API
- cocos2d-X 节点(CCMenuItem.h)API
- cocos2d-X 节点(CCSprite.h)API
- cocos2d-X 节点(CCTexture2D.h)API
- cocos2d-X 节点(SpriteBatchNode.h.)API
- cocos2d-X 节点(CCSpriteFrame.h..)API
- cocos2d-X 节点(CCAnimationCache.h)API
- cocos2d-X 节点(CCCamera.h.)API
- cocos2d-X 节点(CCAction.h)API
- cocos2d-X 节点(CCActionManager.h)API
- cocos2d-X 节点(CCIMEDelegate.h)API
- cocos2d-X 节点(CCLabelAtlas.h)API
- cocos2d-X 节点(CCLabelBMFont.h)API
- cocos2d-X 节点(CCLabelTTF.h)API
- cocos2d-x节点(b2ChainShape.h)API
- cocos2d-x节点(b2PolygonShape.h)API
- 求解奇次幻方
- 自定义类获取主窗口控件引用
- iOS 推送消息 php做推送服务端
- cocos2d-x节点(b2Shape.h)API
- cocos2d-x节点(b2EdgeShape.h)API
- android事件处理
- cocos2d-x节点(b2CircleShape.h)API
- acm--杨辉三角
- iOS app 状态栏隐藏与颜色
- 从Java代码远程提交YARN MapReduce任务
- RUBY 和 SQLITE
- WPF使用DataGridComboBoxColumn完成绑定