ios - SpriteKit类别BitMask问题

标签 ios swift sprite-kit

我是 Spritekit 的新手,在一些简单的事情上遇到了一些麻烦。

我正在制作弹球游戏。为了检测与球的碰撞并奖励积分,缓冲器具有以下设置:

categoryBitMask

collisionBitMask

contactTestBitMask

但是,一旦我设置了categoryBitMask,该对象就不再以相同的方式运行。球穿过保险杠。

我尝试在代码中设置属性以反射(reflect) SKS 文件中设置的内容:

    physicsBody?.isDynamic
    physicsBody?.affectedByGravity 
    physicsBody?.allowsRotation
    physicsBody?.pinned
    physicsBody?.mass

但这没有任何区别。

如何在设置categoryBitMask后让SKSpriteNode保持其物理属性?

最佳答案

我发现了这个问题。我在一个对象上设置了碰撞,但没有在另一个对象上设置碰撞

ball.collisionBitMask = ...包含保险杠 ball.contactTestBitMask = ...包含保险杠

但不是保险杠: bumper.collisionBitMask = ...不包含球 bumper.contactTestBitMask = ...不包含球

关于ios - SpriteKit类别BitMask问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56155776/

相关文章:

ios - 接收到输入数据后读取并处理

ios - 如何在 iOS 中创建基于 json 的动态 UI

ios - NSUserDefault setObject 的现代 objective-c 语法是什么?

ios - AppDelegate applicationDidEnterBackground 在模拟器上工作但不在设备上工作

Swift - 在闭包类型上调用 .init

ios - Swift 如何从源自 lib 的字符串创建类实例

swift - 实现应用内购买以禁用广告

ios - 在 Swift 中创建多个倒数计时器

ios - App Store 上的应用程序隐私详细信息存在问题

ios - Xamarin SpriteKit 使用键运行 Action