     
     // Draw racket image.
     private func drawRacket() {
+        // Set first position.
+        initPostision = CGPointMake(self.frame.size.width / 2, self.frame.size.height / 5)
         let image = SKSpriteNode(imageNamed: "racket.png")
         image.size.width *= 0.3
         image.size.height *= 0.3
-        image.position = CGPointMake(self.frame.size.width / 2, self.frame.size.height / 3)
-        image.physicsBody = SKPhysicsBody(rectangleOfSize: image.size)
+        image.position = initPostision!
+        image.physicsBody = SKPhysicsBody(rectangleOfSize: CGSizeMake(image.size.width / 2, image.size.height / 2))
+        image.physicsBody?.dynamic = false
+        image.physicsBody?.categoryBitMask = CATEGORY_RACKET
+        image.physicsBody?.contactTestBitMask = CATEGORY_BALL
         image.name = "racket"
         self.addChild(image)
     }
     
     override func didMoveToView(view: SKView) {
+        self.physicsWorld.contactDelegate = self
         self.physicsBody = SKPhysicsBody(edgeLoopFromRect: self.frame)
         self.physicsWorld.gravity = CGVectorMake(0.0, -5.0)
         

        ball.position = location
        ball.physicsBody = SKPhysicsBody(circleOfRadius: width)
        ball.physicsBody?.dynamic = true
        self.addChild(ball)
    }
    


import SpriteKit

class GameScene: SKScene, SKPhysicsContactDelegate {
    
    var initPostision: CGPoint?
    let CATEGORY_RACKET: UInt32 = 0x00000001
    let CATEGORY_BALL: UInt32 = 0x00000010
    
    // not supported construct.
    required init(coder aDecoder: NSCoder) {
