gpt4 book ai didi

iphone - 如何在box2d中动态更改主体的组索引

转载 作者:行者123 更新时间:2023-12-03 20:52:09 25 4
gpt4 key购买 nike

我是 box2d 新手。我在 box2d 中开始了一个新游戏,并在世界上创建了 5 个动态物体。最初我需要防止它们之间发生碰撞。所以我将所有物体的组指数设置为负值。触摸 body 后,我想允许与该 body 发生碰撞。如何重置组索引。请帮忙..

最佳答案

听起来你正在寻找类似的东西

b2Body *body = world->GetBodyList();
b2Filter filter = body->GetFilterData();
filter.maskBits = filter.maskBits | THE_RELEVANT_CATEGORY_BITS;
body->SetFilterData(&filter);

这里的想法是,您可以获取任何对象的碰撞过滤数据,使用一些 bool 逻辑将碰撞数据分配给 maskBits 字段,然后使用 SetFilterData 将新的碰撞数据应用到主体。 THE_RELEVANT_CATEGORY_BITS 应该是枚举类型的元素,其中每个冲突过滤类别都由唯一的二进制整数表示。

查看 box2D 教程以了解更多信息 http://www.iforce2d.net/b2dtut/collision-filtering

关于iphone - 如何在box2d中动态更改主体的组索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11257502/

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