2017-02-27 32 views
2

我建立一個菜單的遊戲場景,我有一個標誌和4個按鈕,所有這些都與圖像的矩形大小SKPhysicsBody。 所有那些我只設置:與重力假SpriteKit節點傾斜到位

logo.physicsBody = SKPhysicsBody(rectangleOf: logo.size) 
logo.physicsBody?.affectedByGravity = false 

創建的對象的完整代碼(所有都是一樣的)

logo = SKSpriteNode(imageNamed: "logo") 
logo.anchorPoint = CGPoint.zero 
logo.name = "logo" 
logo.zPosition = 2 
logo.size = CGSize(width: 309, height: 272) 
logo.setScale(Generic.utilities.getScale()) 
self.addChild(logo) 
logo.position = CGPoint(x: self.frame.width/2 - logo.size.width/2, y: self.frame.height - logo.size.height - 40) 
logo.physicsBody = SKPhysicsBody(rectangleOf: logo.size) 
logo.physicsBody?.affectedByGravity = false 

和按鈕按下時我改變所有的節點affectedByGravity爲true,這樣他們就可以屏幕和新元素的下跌可以進來,

我遇到的問題是,當我運行應用程序,這些元素都被移動/傾斜在屏幕上,而不是在原來的位置 Tilted Nodes

所有我想要的是讓他們留在自己的位置上,直到我點擊一個按鈕,然後他們可以脫落的畫面。

有什麼理由當我設置一個物理的身體和affectedByGravity他們都傾斜這樣嗎?

+0

您需要顯示更多的代碼......就像您如何創建對象,您的重力是如何設置的,整個物理體至少爲其中一個對象編碼。我能夠用3個方塊創建一個快速演示(添加了2個場景編輯器,一個添加了代碼,1個場景編輯器設置了物理場景,另外兩個物理場則在運行時創建。在場景編輯器上的場景略負荷自旋(不知道爲什麼)。給一些更多的信息,我們可以算出這個 –

+0

@RonMyschuk添加更多的代碼來 – gmogames

+0

你能證明重力設置 –

回答

1

好了,感謝@RonMyschuk和@ Knight0fDragon我發現(以前不知道),我可以添加到我的場景加載以下:

skView.showsPhysics = true 

裏面加各地的physicsBody邊界線的節點,這樣你就可以看到它們的相互作用。並通過這樣做,我看到了我的節點之一的physicsBody是完全不同的位置,那麼它應該

Borderline around physicsBody

通過採取這一問題的關心,一切都恢復正常

+1

你得到它的工作,你學會了好的工作 –