我需要模拟一个风扇。在Box2D中,我通过使用传感器主体来执行此操作。我没有在SK中发现任何类似的功能。我可能是错的。有什么建议么?多谢!
最佳答案
如果您要创建的正文会导致联系通知但不会引起冲突,则可以使用categoryBitMask
,collisionBitMask
和contactTestBitMask
属性:
选择一位代表传感器类别:
#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/