У меня есть многоугольник в форме буквы L, который явно вогнут, поэтому мне нужно использовать несколько SKPhysicsBody
. Я попробовал главный узел, который содержал спрайт, и два дочерних узла, которые имеют прямоугольные узлы с физическими телами, чтобы составить L. Я попробовал это, и объект не затронут физикой.
SKPhysicsBody*body1 = [SKPhysicsBody bodyWithRectangleOfSize:CGSizeMake(48*1, 48*3) center:CGPointMake(48*1/2, (48*3)/2)];
SKPhysicsBody*body2 = [SKPhysicsBody bodyWithRectangleOfSize:CGSizeMake(48*1, 48*1) center:CGPointMake(48*1/2, (48*1)/2)];
SKNode* node1 = [SKNode node];
SKNode* node2 = [SKNode node];
node1.physicsBody = body1;
node2.physicsBody = body2;
[_node addChild:node1];
[_node addChild:node2];
Чего мне не хватает, к главному узлу не подключено физическое тело, что, как я полагаю, может быть проблемой, но не уверен, что туда поместить.
Я протестировал узел спрайта с простым прямоугольным телом, и он отлично работает.