SpriteKitで重力の操作をする
SpriteKitでの重力周りについて調べてみました。
重力の操作
SpriteKitでは、下のようにSKNodeに対してSKPhysicsBodyをセットすると自動で重力が働きます。
let myLabel = SKLabelNode(fontNamed:"Chalkduster") myLabel.text = "Hello, World!"; myLabel.fontSize = 45; myLabel.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame)); myLabel.physicsBody = SKPhysicsBody(rectangleOfSize: myLabel.frame.size) self.addChild(myLabel)

重力の強さ・向きはSKSceneのphysicsWorldのgravityというプロパティーで操作します。
下のようにgravityをCGVector(dx: 0.3, dy: 0.3)とすれば右上に対して重力がかかります。
self.physicsWorld.gravity = CGVector(dx: 0.3, dy: 0.3)

特定の要素だけ重力を効かせたくない場合はaffectedByGravityにfalseをセットします。
let myLabel = SKLabelNode(fontNamed:"Chalkduster") myLabel.physicsBody = SKPhysicsBody(rectangleOfSize: myLabel.frame.size) myLabel.physicsBody!.affectedByGravity = false self.addChild(myLabel)