Если я определяю открытое UIBezierPath и установить его в качестве границы столкновения:UICollisionBehavior рассматривает открытый путь как закрытый?
_containerPath = [UIBezierPath bezierPathWithArcCenter:center
radius:radius
startAngle:M_PI
endAngle:0
clockwise:NO];
[_collisionBehavior addBoundaryWithIdentifier:@"containerBoundary" forPath:_containerPath];
, а затем включите гравитацию, объекты, которые выбрасываются внутри «чаши» уважать нижнюю границу, но объекты освобождены от над миской остановитесь на предположительно несуществующей стороне. Это ожидаемое поведение?
В картине, красный прямоугольник был исключен из списка выше; справочным представлением для динамического аниматора является светло-серый прямоугольник. Он упал сверху и остановился на невидимой линии.
Я подтвердил, что если вы переворачиваете траекторию безье, красный прямоугольник действительно уважает изогнутую границу; Я также пробовал это, используя открытый (двухсторонний) треугольник вместо изогнутого пути - тот же результат.
Я пробовал это с 20 сторонами (для полукруга), и это определенно действительно повлияло на производительность в тесте, где у меня появилось много мелких просмотров. – rdelmar
отличная идея, хотя! спасибо за предложение. Сейчас я изучаю SpriteKit, и интересно отметить, что SKPhysicsBody специально поддерживает два разных типа: тома и края. Я подозреваю, что SK - это путь для меня ... –