2017-05-16 7 views
-3

私はスウィフトでシンプルなゲームを作っており、ゲームシーンの中心を得る良い方法を見つけようとしていました。現時点では私はこれをやっている:スウィフト:サイズvs境界vsフレーム

CGPoint(x: size.width/2, y: size.height/2) 

は十分に簡単に思えます。しかし、確認すると、GameSceneクラスの一部として、次の4つのものも存在することがわかりました。

self.frame 
self.size 
self.view.bounds 
self.view.frame 

私はかなり混乱しています。私はどちらを使うべきですか?それらはすべて私に同じように見える。違いは何ですか?

+2

これをチェックアウト:http://stackoverflow.com/questions/1210047を/ココア - whats-the-difference-the-frame-and-the-bounds –

答えて

1

フレームはビューのスーパービューの場所なので、左から100ピクセルで100×100の正方形で、上からは{100,100,100 100}です。

境界は、rectですが、スーパービューの位置は無視されます。 bound-rectsの起点は常に0,0になります。したがって、上記の例の図で{0,0,100,100}

サイズであるだろう、bounds.sizeとしてちょうど同じである{100,100}

+0

あなたはどちらをお勧めしますか? – MysteryPancake

+1

シーンの中心を見つけるには、scene.boundsを使うことをお勧めします。正確な中心に配置されたスプライトにはアンカーとオフセットがあるように見えるので、配置するポイントからスプライトサイズを減算する必要があります。 –

関連する問題