0

Fruit Ninjaなどの一部のゲームのように、iPhoneプロジェクトにビジュアルスワイプを実装してみたいと思います。画面上で指をドラッグすると、しばらくすると消える軌跡が残ります。「チェーン」には固定数のポイントがあり、前に新しいポイントが追加されると、後ろから古いポイントが削除されると思います。-touchesMoved新しいポイントを生成するために、およびポイントNSMutableArrayを追跡するためにを使用していることがわかります。実際にセグメントを描画するためにどのような方法を使用するかを想像することはできません。1つCALayer作成して、アクティブポイントを結ぶ線を引きますか?または、他のビューオブジェクトを使用して、それらをポイントで結合します...

何か案は?

4

1 に答える 1

0

'ポイント'にCGPointを設定した場合、このようなものが機能します。警告:これはクイックカット、貼り付け、編集のジョブです-したがって、おそらくエラーが発生します。また、「ポイント」にはstl::vectorを使用します。他の構造を使用することもできます。

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);
于 2010-10-28T01:16:54.353 に答える