2012-01-05 5 views
0

ユーザーのtouchLocationに合わせて回転するイメージがありますが、UIImageViewのバウンディングボックスが大きくなるためです。これは、いくつかの衝突検出を破壊している。回転時のUIImageviewのバウンディングボックスの変更

私の唯一の計画は、新しい境界ボックスシステムをコーディングして、境界ボックス内の4点をそれぞれ取得し、それを自分自身で回転させ、それにチェックコリジョンコードを書き込むことです。

私はそれを行う前に、これを行う簡単な方法はありますか?

マイ回転コード:

- (void)ObjectPointAtTouch{ 

    //Get the angle 
    objectAngle = [self findAngleToPoint:Object :touchLocation]; 

    //Convert to radian, +90 for image alignment 
    double radian = (90 + objectAngle)/(180/M_PI); 

    //Transform by radian 
    Object.transform = CGAffineTransformMakeRotation(radian); 
} 

答えて

0

他のチュートリアルで見られるように、私は、彼らはまた、この問題を解決するためにバウンシングボックスをオフスケールのサイズを変更し、それを考え出しました。 CGAffineTransformスケールだと思います。

+0

変換されたUIViewの 'frame'プロパティは定義されていないので、ドキュメントに従って無視する必要があります。実際には、それはたくさんの良いことをしない境界の四角形です。 – fzwo

関連する問題