2016-08-20 3 views
1

私は、迅速な読書で、このアンカーポイントの基礎を理解しようとした:私はsiwftで、スプライトキットで、シーンのアンカーポイントは、画面の下左隅にあることを理解 https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Nodes/Nodes.htmlSwift Buggingのアンカーポイント?

を。

myNode.position = CGPoint(x: 0, y: 0) 
self.addChild(myNode) 

は、それは私のビューに表示されない:

だから私はこのようなノードを配置した場合。だから私は別のものを試した:

myNode.position = CGPoint(x: middleOfmyView, y: 0) 
    self.addChild(myNode) 

今私は私の正方形の上部の半分を参照してください。だから私は画面の下から20ピクセル上を見る。

だから私は、コメントを追加しました:

myNode.position = CGPoint(x: middleOfmyView, y: 0+myNode.frame.size.height/2) 
     self.addChild(myNode) 

そして今、私は、画面の真ん中に、私の全体の広場を見ることができます。

それから私は、xでそれを置く:0及びそのようなYポイントましょう:

myNode.position = CGPoint(x: 0, y: 0+myNode.frame.size.height/2) 
self.addChild(myNode) 

をそして今、私は右下に「1ノード」が書かれている場合でも、私のノードが表示されて見ることができません私の画面のコーナー!

iPhoneの画面の0,0ポイントが本当に画面の左下に表示されているのでしょうか? 次に、スプ​​ライトノードのアンカーポイントはどこですか?自分の画面の左下に正方形を置くにはどうすればいいですか?

これは私がXcodeの7.3.1を使用してい

:) ...あなたの助けのためにたくさん事前に感謝物事の仕組みを理解するために、すべてで、0点は私が行うことになり、なぜ私はまだ理解していません私のものを見ていない...それは間違いなくバグですか?

+0

シーンが正しい位置にありますか?メインビューのフレームと比較して、シーンの「フレーム」は何ですか? – jrturton

+0

フレームのシーンを印刷するとき。私はそれを持っている:((-0.0、-0.0、1024.0、768.0)) メインビューと同じように、いいえ?とにかく、自分のノードをシーンに置く前に、シーンのフレームを変更しませんでした。 – Julien

+0

ビューのサイズはシーンのサイズと必ずしも同じではありません(これを実現するには、ビューコントローラでscene.size = view.bounds.sizeを設定できます)。したがって、ビューのサイズがiPhone 6の場合、シーンはデフォルトで1024x768になります。つまり、ノードを0,0に配置すると、ノードのサイズによっては表示されない可能性があります。 – Whirlwind

答えて

1

SKSpritenodesのデフォルト値は(0.5、0.5)のanchorPointで、ノードの中央が位置が設定されている場所に移動することを意味します。 anchorPointを変更するには、次のようにします。node.anchorPoint = CGPoint(x: 0, y: 0)この例では、ノードのanchorPointを左下隅に設定しています。変更anchorPointは、回転の起源を変更することを覚えておいてください、とanchorPoint値は0と1の間であることを左下の四角を配置するには:あなたが何かの助けが必要な場合

myNode.anchorPoint = CGPoint(x: 0, y: 0) 
myNode.position = CGPoint(x: frame.minX, y: frame.minY) 

(またはあなたが望むものをカバーしていない場合)私に尋ねて自由にお気軽にお手伝いします。

+0

こんにちは、Nik、あなたの答えに感謝します。あなたが私に言ったことをするとき、私の正方形は見えませんが、それは私の見解では見えるはずです。私はそれを見ることができない!説明はありますか?あなたはそれを試して、アプリを起動し、あなたが得たことを教えていただけますか?私は "1ノード"を持っていて、画面には何も表示されません... – Julien

+0

シーンに 'self.anchorPoint = CGPoint(x:0、y:0)'行を追加してみてください – Nik

関連する問題