以下代码识别场景的底部和顶部边缘,并且球按预期反弹。然而,场景的左边缘和右边缘总是被破坏。如果施加足够的力,球会离开屏幕然后最终返回。就好像场景的边缘超出了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)
}
}
最佳答案
例如,您可以尝试更改 self.physicsBody 的大小;
self.physicsBody = SKPhysicsBody(edgeLoopFromRect: CGRectMake(self.frame.origin.x, self.frame.origin.y, self.size.width, self.size.height))
并根据需要更改参数self.size.width
关于ios - Swift physicsbody 边缘识别问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24894208/