【发布时间】:2016-08-14 05:01:52
【问题描述】:
我正在制作一个 iOS 应用程序,我只希望球上下反弹,而不是水平或任何其他角度。不幸的是,我决定设计游戏的方式导致了一些问题。这是一个显示我的问题的 GIF:
基本上:有时当我点击旋转五边形时,它会以一个角度撞击球,而我只想让它上下移动。
这是我的球代码:
func createBallNode(ballColor: String) -> SKSpriteNode {
let ball = SKSpriteNode(imageNamed: ballColor)
ball.position = CGPoint(x: CGRectGetMidX(frame), y: CGRectGetMidY(frame)+1)
ball.physicsBody = SKPhysicsBody(circleOfRadius: 25)
ball.physicsBody?.affectedByGravity = true
ball.physicsBody?.restitution = 0.99
ball.physicsBody?.linearDamping = 0
ball.physicsBody?.friction = 0
ball.physicsBody?.categoryBitMask = ColliderType.Ball.rawValue
ball.physicsBody?.contactTestBitMask = ColliderType.Rect.rawValue
ball.physicsBody?.collisionBitMask = ColliderType.Rect.rawValue
return ball
}
我是否可以将球设计为始终沿某条线(垂直)移动?有没有人对球有设计建议,或者可能有不同的移动方式(SKActions,例如:moveTo 而不是使用重力)。
告诉我。谢谢!
【问题讨论】:
-
您可以使用
positionXSKConstraint限制节点的x 坐标。 Link -
@0x141E 那么我将如何在我的场景中使用该功能?我似乎无法做到这一点......
标签: ios swift xcode sprite-kit game-physics