我加入didMoveToView
如下:雪碧去關閉屏幕的邊框
var ground = SKNode()
ground.position = CGPointMake(0, 0)
ground.physicsBody = SKPhysicsBody(edgeLoopFromRect: self.frame)
ground.physicsBody?.dynamic = false
ground.physicsBody?.friction = 1
self.addChild(ground)
,並在touchesBegan
,我增加了以下內容:
mainChar.physicsBody?.velocity = CGVectorMake(0, 0)
mainChar.physicsBody?.applyImpulse(CGVectorMake(85, 0))
哪裏mainChar是定義一個SKSpriteNode早。我通過改變y方向上的applyImpulse的方向來測試上面的代碼,並且看到mainChar沒有超出屏幕的頂部。但是,當我將其保留爲85或將其更改爲-85時,它將從屏幕的右側和左側消失。
我能做些什麼不同以確保mainChar保持在屏幕的粘接盒內?
謝謝。
你給過場景一個物理機體嗎? – ZeMoon 2015-04-05 18:34:22
錯......不這麼認爲。我怎麼做? – user3369038 2015-04-05 18:36:13
嗨..我剛纔沒注意到你已經在地面節點上設置了所需的物理體,這看起來是正確的。我認爲你的立場是錯誤的。爲了確保,在didMoveToView方法中調用'self.view.showsPhysics = true'。 – ZeMoon 2015-04-06 05:37:40