2014-03-30 30 views
1

我的SKSpriteNode沿着逆時針方向的這條路徑,我該如何使它沿着順時針方向方向的路徑?SKAction沿順時針方向循環CGPathRef

在此先感謝!

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]; 

回答

6

代替CGPathCreateWithEllipseInRect(),使用CGPathCreateMutable()CGPathAddArc()創建圓路徑並使用clockwise參數來控制 方向。

未經測試的代碼:

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

Thanks Ma rtin,你能提供一些代碼嗎? – user1216855

+1

@ user1216855:查看更新後的答案,我希望它能起作用! –

+0

謝謝馬丁,它完美的作品! – user1216855

0

從馬丁的回答了幾個變化導致的對象開始,並在同一個地方結束:

在Objective C中

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

在迅速

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