我正在制作一款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而不是使用重力)。
请告诉我。谢谢!
positionX
SKConstraint
限制节点的 x 坐标。链接 - 0x141E