So generieren Sie ein CGPoint-Array aus UIBezierPath (um ein Objekt auf dem angegebenen Pfad zu berühren)

Diese Frage hat hier bereits eine Antwort:

Ziehen Sie UIView um eine Form, die aus CGMutablePaths besteht 1 Antwort

Ich habe einen UIBezierPath (gekrümmt wie eine '8', mit nur 4 Punkten darin) und ich muss eine Art CGPoint-Array daraus machen. Irgendwelche Ideen? Danke!

bearbeiten:

Ich habe meinen Bezier so initialisiert

-(void) initBezier
{
    theBezierPath = [UIBezierPath bezierPath];    
    [theBezierPath moveToPoint:P(211.00, 31.00)];
    [theBezierPath addCurveToPoint:P(870.00, 191.00) controlPoint1:P(432.00, -11.00) controlPoint2:P(593.00, 209.00)];
    [theBezierPath addCurveToPoint:P(731.00, 28.00) controlPoint1:P(1061.95, 178.53) controlPoint2:P(944.69, 5.78)];
    [theBezierPath addCurveToPoint:P(189.00, 190.00) controlPoint1:P(529.00, 49.00) controlPoint2:P(450.00, 189.00)];
    [theBezierPath addCurveToPoint:P(211.00, 31.00) controlPoint1:P(-33.01, 190.85) controlPoint2:P(71.00, 37.00)];
}

und ich animiere ein Objekt darauf mit

anim = [CAKeyframeAnimation animationWithKeyPath:@"emitterPosition"];
anim.path = theBezierPath.CGPath;
anim.calculationMode = kCAAnimationCubicPaced;
anim.repeatCount = HUGE_VALF;
anim.duration = tme;

Ich möchte das Objekt auf dem Pfad Pixel für Pixel animieren (über Berührungsposition). Ich möchte, dass das Objekt eine bestimmte Koordinate einer Berührung an dem nächstgelegenen Punkt auf der Kurve "fängt", damit es das Objekt auf dem Pfad berührt und verschiebt.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage