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
,