ios - 当两个物理体都是动态 Sprite 套件 objective-c 时检测接触

标签 ios objective-c sprite-kit

是否有可能检测到接触并让物体通过另一个接触?因为我想在它们相互传递时增加一个变量。

我让两个物理体都动态化,然后它们通过了,但是 didBeginContact 不再工作了。

谢谢

编辑:

好的,所以当我没有 body 动态时一切正常。我有一个 BottomEdgeBody,我用它来检测下雨的石头何时经过我的播放器,然后它会增加分数。所以,如果没有任何东西是动态的,我的石头会停留在 bottomEdge 的顶部,但我希望它们从底部掉落。

一些代码:

在 didBeginContact 中

if(contact.bodyA.categoryBitMask == bottomEdgeCategory)
{
    self.scoring = self.scoring +1;
    [self.scoreLabel setText:[NSString stringWithFormat:@"Score: %ld", (long)self.scoring]];
}
if(contact.bodyB.categoryBitMask == bottomEdgeCategory)
{
    self.scoring = self.scoring +1;
    [self.scoreLabel setText:[NSString stringWithFormat:@"Score: %ld", (long)self.scoring]];

}

如果我让 stone.physicsBody.dynamic = NO;对于 bottomEdge 也是一样,他们通过了自己,但分数不再增加。

最佳答案

好的,谢谢,我刚把Stone和BottomEdge的collision Bit mask设置为0,就正常了

关于ios - 当两个物理体都是动态 Sprite 套件 objective-c 时检测接触,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32610258/

相关文章:

iphone - iOS 中的 Core Data Spotlight 集成

ios - 如何使用swift在ios上选择和删除诸如whatsapp或iMessage之类的消息

ios - objective-C :旋转方法不起作用

ios - Swift协议(protocol)问题,如何表达

ios - 临时 UIImage 从不清除

ios - UIBezierPath 的 close() 函数不适用于 SKShapeNode

ios - 在 ios react-native 中打开应用程序设置

objective-c - 我没有设置的 BOOL 属性的值是多少?

swift - 为什么切换 SKScene 时我的 UIScrollView/SubView 一直显示?

ios - 尝试使用快速枚举从父级删除节点时出错