私はSprite-kitを使って実験を進めています。私は自分のキャラクターを首尾よく配置し、彼を私の円形の道に従わせました。スプライトキット:円の軌道上にスプライトを配置する方法
私は何を達成しようとしていることは以下の通りです:
- 赤いボールがメインキャラクターである[完了]
- 白いポリゴンはコイン
// 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