UICollisionBehavior: катящийся шар?

Я пытаюсь работать над приложением для iPhone на iOS, которое использует UIKit Dynamics для создания анимации физики. Это баскетбольная игра, где вы можете бросить мяч в обруч. Тем не менее, я не могу понять, как сделать мяч круглым UICollisionBehavior а также UIDynamicAnimator)?

Я пробовал: ball.layer.cornerRadius = ball.frame.size.width / 2.0;

Но это только рисует круговой шар. Это на самом деле не ведет себя так. Я также знаю, что могу рисовать границы, используя: addBoundaryWithIdentifier:forPath:

Но я не могу понять, как поставить границы вокруг UIView (UIImageView в моем случае) это не просто прямоугольник? Я знаю, что могу сделать это с помощью SpriteKit, но я уже написал несколько часов кода для игры в баскетбол с использованием UIKit Dynamics и не хочу переключаться, если есть простое исправление. Спасибо!

2 ответа

В iOS 9 Теперь вы можете делать именно то, что вы хотите.

В вашем UIView Подкласс вы можете добавить это:

- (UIDynamicItemCollisionBoundsType)collisionBoundsType
{
    return UIDynamicItemCollisionBoundsTypeEllipse;
}

Вы не можете сделать это с помощью UIKit Dynamics, UIDynamicItem реализация протокола требует объекта, который реализует протокол, чтобы обеспечить bounds свойство, которое является CGRect,

Вы должны пойти на SpriteKit,

Другие вопросы по тегам