cpShape结构
来源:互联网 发布:集成电路板编程 编辑:程序博客网 时间:2024/06/16 05:56
cpShape
Chipmunk目前支持3种碰撞图形。
1.圆形(速度最快而且最简单)
2.线段(多用做静态图形,但不能线段之间实现碰撞)
3.凸多边形(最慢,但是却最灵活)
接下来看看cpShape这个结构
typedef unsigned int cpCollisionType;
typedef unsigned int cpLayers;
typedef unsigned int cpGroup;
typedef struct cpShape
{
const cpShapeClass *klass;
//记录着附加的刚体
cpBody *body;
//记录着该形状的边界,如果想改变它你需要调用cpShapCacheBB或者cpSpaceStep函数
cpBB bb;
//这个形状是否是一个sensor, sensor只会调用碰撞函数, 而不会真正的去碰撞
int sensor;
//弹性系数0.0-1.0
cpFloat e;
//摩擦系数
cpFloat u;
//该形状的速度
cpVect surface_v;
//自定义字段,一般直接解释为对应的精灵
void *data;
//碰撞类型
cpCollisionType collision_type;
//多个形状在同一个非零集合时不会发生碰撞默认为0
cpCollisionGroup group;
//碰撞掩码
cpLayers layers;
} cpShape;
圆形:
cpCircleShape *cpCircleShapeAlloc(void)
cpCircleShape *cpCircleShapeInit(cpCircleShape *circle, cpBody *body, cpVect offset, cpFloat radius)
cpShape *cpCircleShapeNew(cpBody *body, cpFloat radius, cpVect offset)
body 形状附加的刚体
radius 半径
offset 当前坐标和重心的一个偏移
cpVect cpCircleShapeGetOffset(cpShape *circleShape)
cpFloat cpCircleShapeGetRadius(cpShape *circleShape)
得到圆形的一些属性值,如果非圆调用会抛出一个提示
线段:
cpSegmentShape* cpSegmentShapeAlloc(void)
cpSegmentShape* cpSegmentShapeInit(cpSegmentShape *seg, cpBody *body, cpVect a, cpVect b, cpFloat radius)
cpShape* cpSegmentShapeNew(cpBody *body, cpVect a, cpVect b, cpFloat radius)
body 形状附加的刚体
a , b 线段端点
radius 线段的厚度
cpVect cpSegmentShapeGetA(cpShape *shape)
cpVect cpSegmentShapeGetB(cpShape *shape)
cpVect cpSegmentShapeGetNormal(cpShape *shape)
cpFloat cpSegmentShapeGetRadius(cpShape *shape)
得到线段的一些属性值,如果非线段调用会抛出一个提示
凸多边形
cpPolyShape *cpPolyShapeAlloc(void)
cpPolyShape *cpPolyShapeInit(cpPolyShape *poly, cpBody *body, int numVerts, cpVect *verts, cpVect offset)
cpShape *cpPolyShapeNew(cpBody *body, int numVerts, cpVect *verts, cpVect offset)
body 形状附加的刚体
verts 顺时针旋转的凸多边形定点序列
offset 当前坐标和重心的一个偏移
如果不是凸多边形会抛出一个提示.
int cpPolyShapeGetNumVerts(cpShape *shape)
cpVect cpPolyShapeGetVert(cpShape *shape, int index)
得到凸多边形的一些属性值,如果非线段调用会抛出一个提示
- cpShape结构
- Chipmunk碰撞形状:cpShape
- 结构
- 结构
- 结构
- 结构
- 结构
- 结构
- 结构
- 结构
- 结构
- 结构
- 结构
- 结构
- 结构
- 结构
- 结构
- 结构
- HDU 2081 手机短号
- Aspose.words编程指南之DOM树再识,各层结构之间的关系
- Git图示
- SynchronousQueue的简单应用2
- hihoCoder 1223 不等式 (枚举)
- cpShape结构
- 建造者模式
- nyoj 844 A+B Problem(V)【long long】
- 游戏服务器主程白皮书-3.1 运行稳定性
- Android XML动画资源文件详细讲解(上)
- C语言结构体(struct)常见使用方法
- nslog 判断打印的 那一行
- MarkdownPad2注册码
- 关于多线程三种语句的实现