gpt4 book ai didi

ios - Box2D 碰撞检测问题?

转载 作者:行者123 更新时间:2023-11-29 11:16:55 25 4
gpt4 key购买 nike

我正在使用一个非常简单的 b2ContactListener。然而,当我的物体发生碰撞时,一次碰撞会有多个回调。有没有办法修改它或添加一些检查,以便物理上只有一次碰撞的回调?我已经为此苦苦挣扎了几个星期,但我似乎无法弄清楚:(

谁能提供任何提示或建议?

谢谢!

最佳答案

为此,我在我的对象上使用了一个 bool 标志。

当一个联系人被解雇时:

如果标志已经设置 = 忽略否则设置标志并将对象添加到 doSomethingNowWithThis 列表。

这样只有一个联系人设置了标志,其余的都被忽略了。防止我过度删除。

可能有更好的方法,但这对我有用。

在 iOS 中使用 levelhelper 的示例。

   //I register a laser to hit the roof
[lh registerBeginOrEndCollisionCallbackBetweenTagA:PLAYERFIRE
andTagB:ROOF
idListener:self
selListener:@selector(flagPartAToDie:)];

//Then it calls this
-(void)flagPartAToDie:(LHContactInfo*)contact {
MyUserData* myud;
LHSprite* part = [contact spriteA];
myud = (MyUserData*) part.userData;
if (!myud.DeleteMe) {
myud.DeleteMe = YES;
[deadParts addObject: part];
}
}

关于ios - Box2D 碰撞检测问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9057321/

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