2012-01-15 10 views
0

私はボールに触れるといくつかのバーを渡す必要がありますゲームを作っています。しかし、ボールはそれらのバーに触れてはならない。ボールはgif画像です。私の問題は:ボールは円ですが、uiimageviewは正方形です。 uiimageviewのコーナー(ボールイメージではない)がバーに接触すると、ボールがバーに接触したことが示されます。私がそれをしてもUIImageView cornerradiusとCGrect

// imageMover is the UIImageView 
// the radius of the ball is 30.0 
[[imageMover layer] setMasksToBounds:YES]; 
[[imageMover layer] setCornerRadius:30.0f]; 

変更はありません。私は丸いフレーム(CGRect)が必要だと思いますが、どのように丸いフレームを "作成"しますか?

+0

どのように実際に衝突検出を実装していますか? –

+0

if(CGRectIntersectsRect([バーフレーム]、[imageMoverフレーム])){ //ハンドルのもの } – user1110365

+0

http://stackoverflow.com/questions/22047904/collision-accuracy – Larme

答えて

0

あなたは丸いフレームをレコード生成することはできません。この

imageMover.layer.shouldRasterize = YES; 

imageMover.clipsToBounds = YES; 

imageMover.layer.cornerRadius = 10.0f; // what number you want 
0

を試してみてください。

ただし、角が丸いUIImageViewを作成することができます。

QuartzCore(#import)ヘッダをインポートし、UIImageViewのlayerプロパティで再生します。

imageMover.layer.cornerRadius = yourRadius; 
    imageMover.clipsToBounds = YES; 

は、詳細についてのCALayerクラスリファレンスを参照してください: https://developer.apple.com/library/mac/documentation/GraphicsImaging/Reference/CALayer_class/Introduction/Introduction.html

感謝!

関連する問題