楕円形の「卵」の形を (iOS で) 描いており、それをパーティクルの境界として使用したいと考えています。私の考えは、曲線パスを使用して を作成しUIView
、次に使用hitTest:withEvent:
またはpointInside:withEvent:
境界衝突を強制することです。
問題は、もちろん、それUIView
が常に長方形であることです。点がこのような不規則な形状の内部にあるかどうかを確認するにはどうすればよいでしょうか?
- (void)drawRect:(CGRect)rect {
int w = rect.size.width;
int h = rect.size.height;
CGContextBeginPath(context);
CGContextMoveToPoint(context, w/2, h/5);
CGContextAddCurveToPoint(context, w*0.1, h/4.3, w*0.1, h*0.82, w/2, h*0.8);
CGContextAddCurveToPoint(context, w*0.9, h*0.82, w*0.9, h/4.3, w/2, h*0.2);
私はopenFrameworksを使用しています。このコードは Obj-C にすぎませんが、C++/obj-C++ ソリューションを受け入れることができます。