如何在chupmunk中更新Space我的代码是:
// left
shape1 = cpSegmentShapeNew(edge, cpvzero, cpv(0.0f, size.height), 0.0f);
shape1->u = 0.1f; // minimal friction on the ground
shape1->e = 0.7f;
cpSpaceAddStaticShape(_space, shape1); // a body can be represented by multiple shapes
// top
shape2 = cpSegmentShapeNew(edge, cpvzero, cpv(size.width, 0.0f), 0.0f);
shape2->u = 0.1f;
shape2->e = 0.7f;
cpSpaceAddStaticShape(_space, shape2);
// right
shape3 = cpSegmentShapeNew(edge, cpv(size.width, 0.0f), cpv(size.width, size.height), 0.0f);
shape3->u = 0.1f;
shape3->e = 0.7f;
cpSpaceAddStaticShape(_space, shape3);
// bottom
shape4 = cpSegmentShapeNew(edge, cpv(0.0f, size.height), cpv(size.width, size.height), 0.0f);
shape4->u = 0.1f;
shape4->e = 0.7f;
cpSpaceAddStaticShape(_space, shape4);
如果球触及底部形状,像这个球上升但底部形状被移除并显示绿线,我想要但我不知道如何从身体中移除形状。欢迎任何人提出建议。
答案 0 :(得分:0)
所以有三件事。
1)不推荐使用cpSpace [Add | Remove] StaticShape()函数,而应该使用cpSpace [Add | Remove] Shape()函数。
2)如上所述,cpSpaceAddShape()将为空格添加形状。如果要删除它,请调用cpSpaceRemoveShape()。除此之外别无其他。
3)Chipmunk不做任何图形,所以如果你想绘制绿线,你需要使用图形或渲染库提供的任何功能。
答案 1 :(得分:-1)
cpSpaceRemoveStaticShape(_space, shape4);