我需要模拟一个风扇。在Box2D中,我通过使用传感器主体来执行此操作。我没有在SK中发现任何类似的功能。我可能是错的。有什么建议么?多谢!

最佳答案

如果您要创建的正文会导致联系通知但不会引起冲突,则可以使用categoryBitMaskcollisionBitMaskcontactTestBitMask属性:

选择一位代表传感器类别:

#define kSensorCategoryBit (0)                         // Pick your own bit here
#define kSensorCategory    (1 << (kSensorCategoryBit))

设置传感器主体的属性:
sensorBody.categoryBitMask    = kSensorCategory; // Set sensor category bit
sensorBody.collisionBitMask   = 0x00000000;      // Prevent all collisions
sensorBody.contactTestBitMask = 0x00000000;      // Prevent contacts between sensors

设置要为其通知的其他主体的属性:
otherBody.contactTestBitMask |= kSensorCategory; // Set sensor category bit

设置物理世界的联系人代表:
scene.physicsWorld.contactDelegate = contactDelegate;

contactDelegate对象实现联系人委托(delegate)方法:
- (void)didBeginContact:(SKPhysicsContact *)contact
- (void)didEndContact:(SKPhysicsContact *)contact

有关更多信息,请参阅 SKPhysicsContact 上的Apple文档。希望对您有帮助...

关于box2d - Sprite Kit与Box2D传感器主体等效吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19943992/

10-15 11:36