2
A
回答
3
override func didMoveToView(view: SKView) {
//Setup scene's physics body (setup the walls)
physicsBody = SKPhysicsBody(edgeLoopFromRect: frame)
let yellowSprite = SKSpriteNode(color: .yellowColor(), size: CGSize(width: 300, height: 300))
yellowSprite.position = CGPoint(x: frame.midX, y: frame.midY)
//Create the rectangle which will represent physics body.
let rect = CGRect(origin: CGPoint(x: -yellowSprite.size.width/2, y: -yellowSprite.size.height/2), size: yellowSprite.size)
yellowSprite.physicsBody = SKPhysicsBody(edgeLoopFromRect: rect)
addChild(yellowSprite)
//Add Red ball "inside" the yellow sprite
let red = SKShapeNode(circleOfRadius: 20)
red.fillColor = .redColor()
red.strokeColor = .clearColor()
red.position = yellowSprite.position
red.physicsBody = SKPhysicsBody(circleOfRadius: 20)
red.physicsBody?.restitution = 1
red.physicsBody?.friction = 0
red.physicsBody?.affectedByGravity = false
addChild(red)
red.physicsBody?.applyImpulse(CGVector(dx: 20, dy: 15))
}
关于rect
参数创建基于边缘物理学体:
定义边缘的矩形。相对于拥有节点的原点,该矩形被指定为 。
希望这会有所帮助!
相关问题
- 1. 编程方式创建约束 - 2盒
- 2. 了解使用约束教程以编程方式创建UIView?
- 3. Swift 3 - 以编程方式创建标题栏约束
- 4. 以编程方式创建布局约束条件
- 5. 以编程方式创建UIView约束,但锚点未应用
- 6. 如何以编程方式创建约束布局
- 7. 以编程方式创建约束不起作用
- 8. XtraScheduler以编程方式创建预约
- 9. 以编程方式更新约束?
- 10. 以编程方式实现约束
- 11. 以编程方式设置约束
- 12. 以编程方式创建子域名
- 13. 以编程方式创建Google Apps域
- 14. 以编程方式创建子域
- 15. 如何以编程方式向编程创建的UIView添加约束?
- 16. 以编程方式在图像上创建可点击区域
- 17. 以编程方式创建纹理DirectX
- 18. 以编程方式设置AWS区域
- 19. 以编程方式选择区域
- 20. 如果我想以编程方式创建这些约束,我该怎么做?
- 21. 以编程方式创建绑定到视图控制器边界的约束
- 22. 以编程方式创建“间距到最近的邻居”约束
- 23. SpriteKit PhysicsBody:无法创建物理实体
- 24. 以编程方式管理Glassfish域
- 25. 尝试以编程方式实现约束时忽略约束条件
- 26. 如何以编程方式更改约束布局的子视图的约束
- 27. iOS以编程方式将乘数乘以约束
- 28. 约束布局 - 以编程方式设置指南的方向
- 29. 如何以编程方式更改锚样式约束?
- 30. 不等式约束以编程方式快速
完美,谢谢!我已经添加了red.physicsBody?.linearDamping = 0,球完全反射。 – spigen