Frage

Ich möchte einen visuellen Swipe für ein iPhone-Projekt versuchen, die Umsetzung, wie sie in einigen Spielen zu tun, wie Fruit Ninja. Wie Sie Ihren Finger über den Bildschirm ziehen, läßt es eine Spur, die nach einer Weile verschwindet. Ich würde denken, dass Sie eine bestimmte Anzahl von Punkten in der „Kette“ haben könnten und als neue Punkte auf die Vorderseite hinzugefügt werden, werden alte von hinten entfernt. Ich kann sehen, -touchesMoved mit neuen Punkte zu erzeugen und ein NSMutableArray Spur der Punkte zu halten. Ich kann einfach nicht die Abbildung, was Methode, die ich verwenden würde, um tatsächlich die Segmente zu zeichnen. Würde ich machen eine CALayer und ziehen Sie eine Linie, die die aktiven Punkte verbinden? Oder eine andere Ansicht Objekt verwenden und kommen sie zusammen an den Punkten ...

Irgendwelche Ideen?

War es hilfreich?

Lösung

So etwas wie dies funktionieren würde, wenn Sie ‚Punkte‘ bevölkert war mit CGPoints. Caveat: Dies ist ein schneller Schnitt, einfügen und bearbeiten Job - so wird es wahrscheinlich Fehler sein. Auch ich benutze stl :: vector für ‚Punkte‘. Vielleicht möchten Sie eine andere Struktur verwenden.

CGContextRef context = UIGraphicsGetCurrentContext();
CGMutablePathRef dataPath = CGPathCreateMutable();
bool firstPoint = YES;

for (int i=0; i < points.size(); ++i)
    {
    CGPoint point = points[i];
    if (firstPoint)
        {
        CGPathMoveToPoint(dataPath, NULL, point.x, point.y);
        firstPoint = NO;
        }
    else
        {
        CGPathAddLineToPoint(dataPath, NULL, point.x, point.y);
        }
    }

CGContextSetRGBStrokeColor( context, 1.0, 0.0, 0.0, 1.0);
CGContextSetLineWidth( context, 5);
CGContextBeginPath( context );
CGContextAddPath( context, dataPath );
CGContextDrawPath( context, kCGPathStroke);

CGPathRelease(dataPath);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top