Reputation: 39
Excuse the naming conventions and the way I indent and create new spaces in my code I know it's not normal but i'm weird D:
Anyway I set my restitution to 1 and it didn't seem to work so I even tried 1.0 to see if I had to do it that way and it didn't work. By it i'm referring to object(s) bouncing off the borders/frame.
I can't do CGVectorMake either since the swift i'm using doesn't allow it. Anyone have any helpful tips?
Only idea I had was to change gravity of the frame itself but everything I try doesn't work. Thanks!
//
// GameScene.swift
// Pong
//
// Created by Mac2 on 1/16/17.
// Copyright © 2017 Mac2. All rights reserved.
//
import SpriteKit
import GameplayKit
class GameScene: SKScene
{
var trump = SKSpriteNode()
var player = SKSpriteNode()
var opponent = SKSpriteNode()
override func didMove(to view: SKView)
{
//essentially link them to the physical nodes we created in the gamescene
trump = self.childNode(withName: "trump") as! SKSpriteNode
player = self.childNode(withName: "player") as! SKSpriteNode
opponent = self.childNode(withName: "opponent") as! SKSpriteNode
//to initialize the game we need the ball to be going somewhere so we make it go on an angle to the player (not opponent)
trump.physicsBody?.applyImpulse(CGVector(dx: -20, dy: -20))
let border = SKPhysicsBody(edgeLoopFrom: self.frame)
//create variable representing the frame or border of the gamescene
border.friction = 0 //we don't want friction to the borders
border.restitution = 1.0 //we want bouncyness to the borders
self.physicsBody = border //wrap it all up and save it as the physics representation of the gamescene frame
}
override func update(_ currentTime: TimeInterval)
{
// Called before each frame is rendered
}
}
Upvotes: 1
Views: 160