我需要模拟一个风扇。在Box2D中,我通过使用传感器主体来实现这一点。我没有在SK中发现任何类似的东西。我错了。有什么建议?非常感谢!
答案 0 :(得分:3)
如果您要执行的操作是创建一个会导致联系人通知但不会发生冲突的正文,则可以使用categoryBitMask
,collisionBitMask
和contactTestBitMask
属性:< / p>
选择一个代表传感器类别的位:
#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文档。希望有所帮助...