2015-06-07 108 views
1

我想要兩個SKSpriteNode s在相同的位置和靜態的彼此。我首先嚐試在update()函數中設置它。不允許使用財產觀察員

sprite1.position = sprite2.position 

它之前給出sprite1sprite2一幀的位置。高速(sprite2的位置變化)清楚地表明它們彼此不是靜態的。

sprite2.position = sprite2Position{ didSet{ sprite1.position = sprite2.position } } 

我不能做到這一點: 我然後使用屬性觀察者嘗試。 Xcode說我必須separate multiple statements on line

+0

'sprite1.position = sprite2.position'在'didFinishUpdate()'方法(這是物理學之後調用和SKActions進行評估,但幀之前繪製) – Okapi

+0

謝謝,解決了這個問題。我不知道didFinishUpdate()存在。 – ecoguy

+1

如果你想要連接精靈,爲什麼不加一個作爲另一個的子節點呢? – ABakerSmith

回答

1

爲了確保精靈具有相同的位置,在物理模擬和SKA模擬之後設置位置。在didFinishUpdate()方法SKScene做到這一點:爲什麼不直接設置

override func didFinishUpdate() { 
    sprite1.position = sprite2.position 
}