Я создаю собственный путь к границе для физического интерфейса SKSpriteNode.SKSpriteNode не зависит от силы тяжести для пользовательской физикиBody
CGMutablePathRef edgePath = CGPathCreateMutable();
CGPathMoveToPoint(edgePath, NULL, -100, -70);
CGPathAddLineToPoint(edgePath, NULL, -100, 40);
CGPathAddLineToPoint(edgePath, NULL, -80, -20);
CGPathAddLineToPoint(edgePath, NULL, 30, -20);
CGPathAddLineToPoint(edgePath, NULL, 100, 100);
CGPathAddLineToPoint(edgePath, NULL, 100, -70);
CGPathCloseSubpath(edgePath);
Я попытался выделить physicsBody, используя следующие коды:
sprite.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromPath:edgePath];
sprite.physicsBody = [SKPhysicsBody bodyWithPolygonFromPath:edgePath];
sprite.physicsBody = [SKPhysicsBody bodyWithEdgeChainFromPath:edgePath];
Ни один из них не позволяют спрайт быть затронуты действием силы тяжести.
Однако, если я использую простой bodyWithCircleOfRadius:
, спрайт получает влияние на гравитацию.
Может ли кто-нибудь рассказать о том, почему это происходит?
корпусWithPolygonFromPath должен работать. Другие не будут. Вставьте код, как вы прикрепляете физический элемент к узлу, пожалуйста, –