     
     // 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)
         

        }
    }
   
    override func update(currentTime: CFTimeInterval) {
        /* Called before each frame is rendered */
    }

            var isRacket = false
            for r in self.children {
                if r.name == "racket" {
                    if location.y < ((self.size.height * 2) / 3) {
                        let seq = SKAction.sequence([SKAction.moveTo(location, duration: 0.25),
                            SKAction.moveTo(initPostision!, duration: 0.5)])
                        r.runAction(seq)
                        isRacket = true
                    }
                }
