Я работаю над простой тестовой игрой. У меня есть динамический объект, который сталкивается со стеной. Если скорость динамического объекта высока (я думаю, что это причина), объект идет через стену. Кто-нибудь знает, как это исправить?SpriteKIt - Динамический объект сталкивается со стеной и прогулочным корытом
Стена:
// Create wall ...
CGRect rect = CGRectMake(0, 0, 25, self.frame.size.height);
SKNode *wallNode = [SKNode node];
wallNode.position = CGPointMake(CGRectGetMidX(self.frame) + rect.size.width * 0.5, 250);
wallNode.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:rect.size];
wallNode.physicsBody.dynamic = NO;
wallNode.physicsBody.categoryBitMask = CollisionTypeNet;
[self addChild:wallNode];
игрока:
SKSpriteNode *player = [SKSpriteNode spriteNodeWithImageNamed:@"player"];
player.name = playerCategoryName;
player.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:player.frame.size];
player.physicsBody.restitution = 0.1f;
player.physicsBody.friction = 0.0f;
player.physicsBody.dynamic = YES;
player.physicsBody.categoryBitMask = CollisionTypePlayer;
player.physicsBody.collisionBitMask = CollisionTypeNet ;
player.physicsBody.contactTestBitMask = CollisionTypeWall;
[self addChild:player];
Хммм без согласования (ненулевой) контакта битмаски не может быть никакого столкновения. Для высокой скорости используйте точное столкновение: https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SKPhysicsBody_Ref/Reference/Reference.html#//apple_ref/occ/instp/SKPhysicsBody/usesPreciseCollisionDetection – LearnCocos2D