Ios 使用spritekit和UITouch绘制直线可创建多条直线

Ios 使用spritekit和UITouch绘制直线可创建多条直线,ios,objective-c,sprite-kit,uitouch,Ios,Objective C,Sprite Kit,Uitouch,应该很简单 我试着用UITouch和Spritekit画一条直线。但是,当调用touchesmoved时,它会创建多行,而不仅仅是一行。使用的代码如下: -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [touches anyObject]; positionInScene1 = [touch locationInNode:self]; pathToDr

应该很简单

我试着用UITouch和Spritekit画一条直线。但是,当调用touchesmoved时,它会创建多行,而不仅仅是一行。使用的代码如下:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [touches anyObject];
    positionInScene1 = [touch locationInNode:self];

    pathToDraw = CGPathCreateMutable();

    selectorLine = [SKShapeNode node];
    selectorLine.strokeColor = [SKColor greenColor];
    selectorLine.lineWidth = 5;
    [self addChild:selectorLine];
}

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    pathToDraw2 = CGPathCreateMutable();
    UITouch* touch = [touches anyObject];
    positionInScene2 = [touch locationInNode:self];

    CGPathMoveToPoint(pathToDraw2, NULL, positionInScene1.x, positionInScene1.y);
    CGPathAddLineToPoint(pathToDraw2, NULL, positionInScene2.x, positionInScene2.y);
    CGPathCloseSubpath(pathToDraw);

    selectorLine.path = pathToDraw;
}
如果我搬家

CGPathAddLineToPoint(pathToDraw, NULL, positionInScene2.x, positionInScene2.y);
touchesEnd只在用户结束触摸后创建一行。我希望用户在触摸时看到绘制的线条

谢谢,
Doug

在您的TouchsMoved中创建新路径。您正在修改同一路径,只是在其中添加了越来越多的行。

在TouchsMoved中创建新路径。您正在修改同一路径,只是在其中添加了越来越多的行。

在TouchsMoved中创建新路径。您正在修改同一路径,只是在其中添加了越来越多的行。

在TouchsMoved中创建新路径。您正在修改同一路径,只是在其中添加越来越多的行。

从何处到何处有多行?每个从起点到当前触摸位置的附加线,或先前和当前触摸位置之间的附加线?从何处到何处的多条线?每个从起点到当前触摸位置的附加线,或先前和当前触摸位置之间的附加线?从何处到何处的多条线?每个从起点到当前触摸位置的附加线,或先前和当前触摸位置之间的附加线?从何处到何处的多条线?每个从起点到当前触摸位置的附加线,或者上一个和当前触摸位置之间的附加线?真不敢相信我错过了!谢谢,泰斯。希望上面的代码能帮助其他新手sprtiekit devs,我真不敢相信我错过了!谢谢,泰斯。希望上面的代码能帮助其他新手sprtiekit devs,我真不敢相信我错过了!谢谢,泰斯。希望上面的代码能帮助其他新手sprtiekit devs,我真不敢相信我错过了!谢谢,泰斯。希望上面的代码能帮助其他新手开发人员