[英]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.