Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ballNode = childNode(withName: "ballNode") as? SKSpriteNode
- ballNode?.physicsBody = SKPhysicsBody(circleOfRadius: (ballNode?.frame.size.width)! / 2)
- ballNode?.physicsBody?.isDynamic = true
- ballNode?.physicsBody?.usesPreciseCollisionDetection = true
- ballNode?.zPosition = 3
- ballNode?.physicsBody!.categoryBitMask = PhysicsCategory.ballCategory
- ballNode?.physicsBody!.contactTestBitMask = PhysicsCategory.trampolineCategory
- ballNode?.physicsBody!.collisionBitMask = PhysicsCategory.platformCategory
- ballNode?.physicsBody?.velocity = CGVector(dx: 0.0, dy: 0.0)
- ballNode?.move(toParent: _gameNode)
- enumerateChildNodes(withName: "trampoline") {trampolineNode,_ in
- trampoline = trampolineNode as? SKSpriteNode
- trampolineNode.physicsBody = SKPhysicsBody.init(rectangleOf: CGSize(width: (trampoline?.size.width)!, height: (trampoline?.size.height)!))
- trampolineNode.physicsBody?.categoryBitMask = PhysicsCategory.trampolineCategory
- trampolineNode.physicsBody?.contactTestBitMask = PhysicsCategory.ballCategory
- trampolineNode.physicsBody?.collisionBitMask = PhysicsCategory.ballCategory
- trampolineNode.physicsBody?.affectedByGravity = false
- trampolineNode.physicsBody?.isDynamic = false
- trampolineNode.physicsBody?.usesPreciseCollisionDetection = true
- trampolineNode.physicsBody?.restitution = 1
- trampolineNode.move(toParent: _gameNode)
- if collision == PhysicsCategory.ballCategory | PhysicsCategory.trampolineCategory {
- let src = [float2(0.0), float2(1.0), float2(2.0),
- float2(3.0), float2(4.0), float2(5.0),
- float2(6.0), float2(7.0), float2(8.0)]
- let dst = [float2(0.0), float2(0.0), float2(2.0),
- float2(3.0), float2(1.0), float2(5.0),
- float2(6.0), float2(7.0), float2(8.0)]
- warpGrid = SKWarpGeometryGrid(columns: 2, rows: 2,
- sourcePositions: src,
- destinationPositions: dst)
- //
- trampoline?.warpGeometry = warpGrid <---This line removes the trampoline image, so I could only assume its the way I set up the source and destination points.
- let transform = SKAction.warp(to: warpGrid!, duration: 1)
- let transformAction = SKAction.repeat(transform!, count: 1)
- trampoline?.run(transformAction)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement