Swift SpriteKit edgeLoopFromRect Проблема
Следующий код распознаетнижний и верхний края сцены и мяч отскакивает, как ожидалось. Тем не менеелевый и правый края сцены нарушаются все время. Мяч уходит с экрана, а затем, в конце концов, возвращается назад, если приложить достаточное усилие. Как будто края сцены находятся за пределами окна симулятора iphone.
import SpriteKit
class GameScene: SKScene {
override func didMoveToView(view: SKView){
self.physicsBody = SKPhysicsBody(edgeLoopFromRect: self.frame)
backgroundColor = UIColor.cyanColor()
var ball = SKSpriteNode(imageNamed: "ball")
ball.position = CGPoint(x: self.size.width/2, y: self.size.height/2)
self.addChild(ball)
ball.physicsBody = SKPhysicsBody(circleOfRadius: ball.frame.size.height/2)
let push = CGVectorMake(10, 10)
ball.physicsBody.applyImpulse(push)
}
}
Я думаю, что это как-то связано с файлом .sks, поскольку там указаны размеры, и если я изменю эти размеры, это отразится на игре. Кто-нибудь знает, как сделать так, чтобы эта строка кода имела приоритет над размерами файла .sks? Таким образом, он будет динамичным и может работать на разных устройствах.
self.physicsBody = SKPhysicsBody(edgeLoopFromRect: self.frame)
Я нашел тот же вопрос здесь, но так и не получил ответа:Быстрая проблема распознавания краев физического тела
Кроме того, я новичок в разработке приложений для iOS и быстро, так что простите, если ответ очевиден, и я пропустил его.