У меня есть следующий код, который имитирует прыгающие мячи. Хотя я упоминал, что тела должны оставаться в рамках self.frame, они уходят (весь шар уже не виден), а затем возвращаются. Это потому, что рамка имеет большую ширину, чем видимые границы. Зато с высотой все в порядке.
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)
}
}
scaleMode = .ResizeFill
и изменитеframe
наview.frame
вdidMoveToView
- person 0x141E   schedule 03.09.2016