SKAction按顺时针方向跟随Circle CGPathRef

时间:2014-03-30 16:53:59

标签: ios sprite-kit

我的SKSpriteNode沿逆时针方向跟随此路径,我该如何使它沿着顺时针方向的路径?

提前致谢!

    CGPathRef circle = CGPathCreateWithEllipseInRect(CGRectMake(0,0,50,50), NULL);

    SKAction *followTrack = [SKAction followPath:circle asOffset:YES orientToPath:YES duration:5.0];

    SKAction *forever = [SKAction repeatActionForever:followTrack];

    [player2 runAction:forever];

2 个答案:

答案 0 :(得分:7)

而不是CGPathCreateWithEllipseInRect(),使用CGPathCreateMutable()CGPathAddArc()创建圈子路径并使用clockwise参数来控制 方向。

未经测试的代码:

CGMutablePathRef circle = CGPathCreateMutable();
CGPathAddArc(circle, NULL, 25, 25, 25, 0, 2*M_PI, true);
CGPathCloseSubpath(circle);

答案 1 :(得分:0)

从Martin的回答中,一些变化导致对象在同一个地方开始和结束:

目标C

CGMutablePathRef circle = CGPathCreateMutable();
CGPathAddArc(circle, NULL, -25, 0, 25, 0, 2*M_PI, true);
CGPathCloseSubpath(circle);

在swift中

let path = CGPathCreateMutable()
CGPathAddArc(path, nil, -25, 0, 25, 0, CGFloat(2.0 * M_PI), true)
CGPathCloseSubpath(path)