我是SpriteKit的新手,試圖構建基本的突破遊戲。我面臨的問題是我無法限制屏幕內的槳(這是另一個具有藍色紋理的節點,如圖所示)。當我移動槳時,它超出了屏幕限制。 我已經應用物理學,屏幕區域和槳,但沒有運氣。 在SpriteKit中限制另一個節點
0
A
回答
1
由於您正在通過直接更改其位置來移動它,因此您的槳不會與邊緣發生適當碰撞。要參與物理模擬,必須通過設定其速度或通過對其物理體施加力或衝量來移動槳。例如,
for touch in (touches as! Set<UITouch>) {
let location = touch.locationInNode(self)
if (location.x < size.width/2.0) {
paddle.physicsBody?.applyImpulse(CGVectorMake(-scale, 0))
}
else {
paddle.physicsBody?.applyImpulse(CGVectorMake(scale, 0))
}
}
其中scale
確定被施加到身體在x
尺寸的動量量。
編輯:
或者,也可以通過
let range = SKRange(lowerLimit: CGRectGetMinX(view.frame), upperLimit: CGRectGetMaxX(view.frame))
let constraint = SKConstraint.positionX(range)
paddle.constraints = [constraint]
約束槳的x
位置是在設定範圍內以上添加到didMoveToView
方法。
相關問題
- 1. SpriteKit:另一個節點上的節點
- 2. SpriteKit節點給我nil當subclassed(也許?)到另一個節點| Swift
- 3. Spritekit節點zRotation不保存另一個節點的子節點的節點寬高比
- 4. SpriteKit:添加一個節點來查看?
- 5. XSLT:在迭代時將節點複製到另一個節點
- 6. SpriteKit - 節點調整位置一點點
- 7. 使用NodeJS API限制啓動另一個節點文件
- 8. 節點ntwitter和Twitter API限制一個
- 9. 限制SpriteKit轉換的節點名稱的最佳方法
- 10. (ObjC - >雨燕)SpriteKit:創建一個新的節點(法「節點」)
- 11. 複製另一個節點的關係
- 12. SpriteKit:在CGPoint獲取節點
- 13. 處理SpriteKit中的每個節點Swift
- 14. SpriteKit - 選擇節點
- 15. 將具有多個子節點的Firebase節點複製到另一個節點
- 16. SpriteKit - 檢測節點是否碰到另一個節點的子節點並執行動作
- 17. 如何在spritekit的屏幕中心放置一個節點?
- 18. 在SpriteKit隨機座標中產生一個節點
- 19. 在Drupal中,如何在一個節點中包含另一個節點?
- 20. XSL:節點值與另一個節點
- 21. 將一個節點拖放到另一個節點中
- 22. 強制節點直接位於另一個節點的下方
- 23. javafx複製當前節點到另一個節點的功能
- 24. SpriteKit場景限制
- 25. cassandra節點限制
- 26. 的XPath的節點中的一個節點是另一個節點的兄弟
- 27. 在spritekit中訪問子節點
- 28. 在AS3中,XML節點值如何用作另一個節點?
- 29. 查看在另一個節點中引用的drupal節點
- 30. 節點如何訪問另一個網關中的另一個節點?
你是如何移動槳葉的,你是如何爲背景定義物理體的? – 0x141E
假設我正在通過點擊並按住左側,右側角落朝相應方向移動。我使用屬性檢查器來定義物理,通過啓用物理定義。 – Hadi
您是否使用邊緣循環作爲背景?另外,你是通過施加一個力還是衝動來移動槳,還是直接改變x和y值? – 0x141E