Я рисую продолговатую форму яйца (на 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 ++.