5

我需要模拟一个风扇。在 Box2D 中,我通过使用传感器主体来做到这一点。我在 SK 中没有发现任何类似的东西。我可能是错的。有什么建议么?多谢!

4

1 回答 1

3

如果您要创建一个会导致联系通知但不会发生冲突的正文,您可以使用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对象的联系委托方法:

- (void)didBeginContact:(SKPhysicsContact *)contact
- (void)didEndContact:(SKPhysicsContact *)contact

SKPhysicsContact有关详细信息,请参阅 Apple 的文档。希望有帮助...

于 2013-11-13T05:03:48.510 回答