UICollisionBehavior:滚球?
我正在尝试使用UIKit Dynamics的iOS iPhone应用程序来执行物理动画。 这是一个篮球比赛,你可以把球扔进篮筐。 但是,我无法弄清楚如何使球形成圆形(通过UICollisionBehavior
和UIDynamicAnimator
这样处理)?
我试过了: ball.layer.cornerRadius = ball.frame.size.width / 2.0;
但是这只能使球形成圆形。 它实际上并没有这样的表现。 我也知道我可以绘制边界使用: addBoundaryWithIdentifier:forPath:
但我无法弄清楚如何将UIView
( UIImageView
在我的情况下)的边界不仅仅是一个矩形? 我知道我可以使用SpriteKit来做到这一点,但是我已经使用UIKit Dynamics为篮球比赛编写了几个小时的代码,并且如果有简单的修复,就不想切换。 谢谢!
在iOS 9
您现在可以按照自己的想法进行操作。
在你的UIView
子类中,你可以添加这个:
- (UIDynamicItemCollisionBoundsType)collisionBoundsType
{
return UIDynamicItemCollisionBoundsTypeEllipse;
}
你不能用UIKit Dynamics
来做。 UIDynamicItem
协议实现需要实现协议的对象提供一个CGRect
的bounds
属性。
你必须去SpriteKit
。
上一篇: UICollisionBehavior: Rolling Ball?
下一篇: collision issue