所以我正在試驗雪碧套件,以建立圓形路徑,主角可以跟隨並收集硬幣。我已經成功地定位了我的角色並使他跟隨我的循環路徑。雪碧套件:如何在圓形路徑上定位精靈
我想要實現的是以下幾點:
- 紅球是主角[完成]
- 白色多邊形硬幣
// Adding the big circle
let runway = SKSpriteNode(imageNamed: "runway")
runway.position = CGPointMake(CGRectGetMidX(frame), CGRectGetMidY(frame))
addChild(runway)
// Adding the player
player = SKSpriteNode(imageNamed: "player")
player.position = CGPointMake(CGRectGetMidX(frame) , (CGRectGetMidY(frame) + runway.size.width/2))
// Calculating the initial position of the player and creating a circular path around it
let dx = player.position.x - frame.width/2
let dy = player.position.y - frame.height/2
let radian = atan2(dy, dx)
let playerPath = UIBezierPath(
arcCenter: CGPoint(x: CGRectGetMidX(frame), y: CGRectGetMidY(frame)),
radius: (runway.frame.size.width/2) - 20,
startAngle: radian,
endAngle: radian + CGFloat(M_PI * 4.0),
clockwise: true)
let follow = SKAction.followPath(playerPath.CGPath, asOffset: false, orientToPath: true, speed: 200)
player.runAction(SKAction.repeatActionForever(follow))
我現在的問題是,如何將我的硬幣放在同一條路徑上? 有沒有辦法使用相同的路徑生成他們的位置,或者我應該爲每個硬幣創建一個特定的路徑,並提取路徑currentPoint
每次?
有沒有更簡單的方法來解決我的問題?
感謝
圖像鏈接已損壞...您可以添加如何以及在哪裏創建路徑以獲得更好的答案。但總的來說,您需要知道圓形路徑的中心在哪裏,半徑是多少。基於此,您可以輕鬆計算圓周上的點(這是您正在談論的實際路徑)。 – Whirlwind
我已經用一些代碼更新了我的初始文章,希望能夠幫助其他人理解我的問題。我可以看到圖像,對我來說不會破碎。奇怪的 ?! –
是的,很奇怪。我無法從設備或計算機打開它。在評論中粘貼鏈接(如果你喜歡)...更新後的代碼雖然夠用了。 – Whirlwind