弹跳球稍微离开了Spritekit中的屏幕框架

时间:2016-09-03 01:00:13

标签: objective-c swift sprite-kit game-engine game-physics

我有以下代码模拟弹跳球。虽然我提到身体应该保持在自我框架内,但它们会离开(整个球不再可见),然后再回来。因为框架的宽度大于可见边框的宽度。但是,身高完全没法。

override func didMoveToView(view: SKView) {    
    self.physicsWorld.gravity = CGVectorMake(0, -9.8)
            let sceneBody = SKPhysicsBody(edgeLoopFromRect: frame)
            sceneBody.friction = 0
            self.physicsBody = sceneBody

    }

    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
        for touch in touches{
            var pos = touch.locationInNode(self)
            var ball = SKShapeNode(circleOfRadius: 25)
            ball.position = pos
            ball.physicsBody = SKPhysicsBody(circleOfRadius: 25)
            ball.physicsBody?.affectedByGravity = true
            ball.physicsBody?.restitution = 0.9
            ball.physicsBody?.linearDamping = 0

            self.addChild(ball)
        }
    }

0 个答案:

没有答案