私は、(iOS上で)長方形の卵形を描いており、それをパーティクルの境界として使用したいと考えています。私の考えは、カーブパスを使用してUIView
を作成し、hitTest:withEvent:
またはpointInside:withEvent:
を使用して境界衝突を適用することです。pointInsideを呼び出すことは可能ですか:不規則な形ですか?
問題はもちろん、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++のソリューションを利用できます。
これはiOSで可能ですか?私の 'CGPath'sは私の' CGContextMoveToPoint'(等)のように描画されていません。 'UIBezierPath'はスーパーですが、それはiOSにもありません。 (申し訳ありませんが、現在iOSを指定する元の質問を更新しています) – buildsucceeded
CGPathContainsPointはiOS 2.0以降で、UIBezierPathはiOS 3.2以降です。 –
この情報をお寄せいただきありがとうございます! – buildsucceeded