1

物理アニメーションを行うために UIKit Dynamics を使用する iOS iPhone アプリで作業しようとしています。フープにボールを投げ入れるバスケットボールのゲームです。しかし、ボールを円形にする方法がわかりません ( と でこのように扱われUICollisionBehaviorますUIDynamicAnimator)。

私はもう試した:ball.layer.cornerRadius = ball.frame.size.width / 2.0;

しかし、これはボールを円形に描くだけです。実際にはこのように動作しません。また、次を使用して境界を描画できることも知っています。addBoundaryWithIdentifier:forPath:

しかし、単なる長方形ではないUIView(私の場合)の周りに境界を設定する方法がわかりませんか? UIImageViewSpriteKit を使用してこれを行うことができることはわかっていますが、UIKit ダイナミクスを使用してバスケットボール ゲームのコードを数時間書いているので、簡単な修正がある場合は切り替えたくありません。ありがとうございました!

4

2 に答える 2

3

で、iOS 9やりたいことを正確に実行できるようになりました。

UIViewサブクラスでこれを追加できます:

- (UIDynamicItemCollisionBoundsType)collisionBoundsType
{
    return UIDynamicItemCollisionBoundsTypeEllipse;
}
于 2016-02-07T01:22:20.290 に答える
2

を使用して行うことはできませんUIKit DynamicsUIDynamicItemプロトコルの実装では、プロトコルを実装するオブジェクトが であるboundsプロパティを提供する必要がありますCGRect

あなたは行かなければなりませんSpriteKit

于 2014-02-21T23:16:40.947 に答える