我正在尝试使用SpriteKit和swift并且想要一个很酷的游戏,但我需要一些来自更高级别的人的建议。这是我想做的事情: 我希望有一个正常的横向视图在视图内部有一个圆圈,它是一个包含它自己的重力场。物体将在外面飞行,但游戏发生在圆圈内部。什么是最好的方法来解决这个问题? 我很难想到一个包含字段的想法以及如何将它分开。任何建议让我指出正确的方向将不胜感激。
let field = SKFieldNode.turbulenceFieldWithSmoothness(0.5, animationSpeed: 0.1)
//let field = SKFieldNode.radialGravityField(???)
self.addChild(field)
field.region = SKRegion(size: CGSize(width: 300, height: 100))
field.position = CGPointMake(self.size.width * 0.5, self.size.height * 0.5)
wallsNode.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame));
wallsNode.physicsBody = SKPhysicsBody(circleOfRadius: 240)
wallsNode.physicsBody?.dynamic = false
self.addChild(wallsNode)
答案 0 :(得分:0)
任何类型的SKFieldNode
(包括径向重力场)都有一个关联的SKRegion
,用于确定其影响区域。创建一个圆形区域(例如SKRegion(radius:30)
)并将其应用于重力场,它只会影响该圈内的事物。