視覚的なスワイプジェスチャを作成して描画する方法
質問
私は、彼らはフルーツ忍者のように、いくつかのゲームで行うように、iPhoneのプロジェクトのための視覚的なスワイプを実装してみたいと思います。あなたは、画面の周りに指をドラッグすると、それはしばらく消え証跡を残します。私は、あなたが「チェーン」内のポイントの固定数を持つことができ、新たなポイントが前に追加され、古いものは後ろから削除されていると思うだろう。私はポイントを追跡するために、新たなポイントと-touchesMoved
を生成するNSMutableArray
を使用して見ることができます。私はちょうど私が実際にセグメントを描画するために使用したいどのような方法で撮影することができません。です私は1つCALayer
を作り、活性点を結ぶ線を引きますか?またはいくつかの他のビュー・オブジェクトを使用し、ポイントでそれらを一緒に参加...
任意のアイデア?
解決
このような何かが動作し、あなたがCGPointsと「ポイント」を埋めていた場合でしょう。警告:このクイックカット、貼り付け、編集の仕事である - ので、おそらくエラーが発生します。また、私は「ポイント」のSTL ::ベクトルを使用しています。あなたは、いくつかの他の構造を使用したい場合があります。
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);
所属していません StackOverflow