首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Box2dWeb自定义形状交互

Box2dWeb自定义形状交互
EN

Stack Overflow用户
提问于 2012-12-23 01:05:01
回答 1查看 323关注 0票数 0

我有一个自定义形状body的Box2DWeb模拟,但它根本不与其他body交互。调试绘图显示检测到冲突,但没有任何效果。在阅读有关自定义形状的文章时,我没有找到任何可以设置来启用碰撞的东西,我不知道哪里出了问题。自定义形体是这样创建的,我还发布了示例here

代码语言:javascript
复制
bodyDef = new b2BodyDef;
bodyDef.type = b2Body.b2_dynamicBody;
bodyDef.position.x = canvas.width/30/2;
bodyDef.position.y = 2;
body = world.CreateBody(bodyDef);
v = [[2,0],
[2,2],
[0,2],
[0,3],
[2,3],
[2,5],
[3,5],
[3,3],
[5,3],
[5,2],
[3,2],
[3,0]];
vecs = [];
for(i=0;i<v.length;i++){
cc = new b2Vec2();
cc.Set(v[i][0],v[i][1]);
vecs[i] = cc;
}
fixDef.shape = new b2PolygonShape;
fixDef.shape.SetAsArray(vecs,vecs.length);
body.CreateFixture(fixDef);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-23 06:35:01

Box2D只知道如何处理凸面多边形,因此您必须从多个夹具创建十字形状,以解决凹面截面。例如,你可以有两个在中间相交的长方形。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14004779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档