簡體   English   中英

如何創建和繪制視覺上的滑動手勢

[英]How to create and draw a visual swipe gesture

我想嘗試為iPhone項目實現可視化滑動,就像它們在《水果忍者》等某些游戲中所做的那樣。 當您在屏幕上拖動手指時,它留下的痕跡會在一段時間后消失。 我認為您可以在“鏈”中擁有固定數量的點,並且隨着新點添加到前面,舊點將從后面刪除。 我可以看到使用-touchesMoved生成新點,並使用NSMutableArray跟蹤這些點。 我只是無法想象要使用哪種方法來實際繪制線段。 我會做一個CALayer並畫一條線連接活動點嗎? 或使用其他視圖對象,然后將它們結合在一起。

有任何想法嗎?

如果您用CGPoints填充了“點”,則類似的事情將起作用。 注意:這是一個快速剪切,粘貼和編輯的工作-因此可能會出現錯誤。 另外,我將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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM