2017-02-17 9 views
2

私は2つのスプライトノードをswiftファイルの関数に持っています。両方のノードのサイズと位置は同じです。 Node2はノードの子です。swift:同じ位置の子ノードを返す

ノードがシーンに追加されるとき、ノードの位置は互いに異なります。彼らはそうであるように互いの上にはない。

func stoppers()->SKSpriteNode{ 
let node=SKSpriteNode(imageNamed:"image1") 
    node.size=CGSize(width:20,height:300) 
    node.position=CGPoint(x:100,y:100) 

    let node2=SKSpriteNode(imageNamed:"image2") 
    node2.size=CGSize(width:20,height:300) 
    node2.position=CGPoint(x:100,y:100) 

node.addChild(node2) 
return node 
} 

機能は同じシーンに呼び出されます。 にaddChild(game.stoppers())

答えて

2

node2node1の子供であり、あなたは彼らが画面上の同じ場所になりたい場合は、 node2は、position(x: 0, y: 0)である必要があります。これは、子ノードの位置が親ノードに相対的であるためです。彼らはまた、同じanchorPointを持つ必要があります。

+0

ありがとうございました! –

+0

子ノードには他の考慮事項があることに留意してください。彼らは移動し、親に影響を及ぼし、親に影響を与える力は子供(子供)にも影響します。 –

関連する問題