gpt4 book ai didi

javascript - 具有 b2FixtureDef.shape.SetAsArray 的 Box2D 主体不适用于类似俄罗斯方 block 的形状

转载 作者:行者123 更新时间:2023-12-03 12:36:04 24 4
gpt4 key购买 nike

我尝试使用 box2d 的 SetAsArray 函数来建模俄罗斯方 block 形状。但这些形状无法与其他物体正确碰撞,有时会掉下来,有时会陷入其中。方形或圆形形状没有问题。

    fixDef.shape.SetAsArray([
new b2Vec2(-1,1.5),
new b2Vec2(-1,-1.5),
new b2Vec2(1,-1.5),
new b2Vec2(1,-0.5),
new b2Vec2(0,-0.5),
new b2Vec2(0,1.5)],6
); // Tetris shape

bodyDef.position.Set(7,0);
var body=world.CreateBody(bodyDef);
body.CreateFixture(fixDef);

我做了一个 fiddle 来展示效果:

http://jsfiddle.net/lavisrap/JrzPH/598/

最佳答案

来自 Box2D 手册:“多边形形状是实心凸多边形。当连接内部两点的所有线段不穿过多边形的任何边时,多边形是凸多边形。” http://www.box2d.org/manual.html

关于javascript - 具有 b2FixtureDef.shape.SetAsArray 的 Box2D 主体不适用于类似俄罗斯方 block 的形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23732285/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com