1
我需要在框架中移動SpriteNode。我目前遇到的問題是這樣做(失去了幾幀?不確定)。我需要的是對象水平移動而沒有固定的方向x目標,以便如果x被某種影響所抵消,對象不會嘗試返回到其初始化的x座標。 這裏是那部分代碼看起來像現在:swift,移動SKSpriteNode?
`spaceRock.physicsBody?.affectedByGravity = false
spaceRock.physicsBody = SKPhysicsBody(texture: (spaceRock?.texture)!,
size:(spaceRock.size))
spaceRock.zPosition = 1
spaceRock.position=CGPoint(x: xSpawnPosition, y:
Double(self.size.height/2+(spaceRock.size.height)))
spaceRock.physicsBody!.isDynamic = true
spaceRock.physicsBody!.allowsRotation = true
spaceRock.physicsBody!.categoryBitMask = 00000001
spaceRock.physicsBody!.contactTestBitMask = 00000010
addChild(spaceRock)
spaceRock.physicsBody?.applyTorque(CGFloat(randTorque))
//spaceRock.run(SKAction.moveTo(y: -self.size.height-
spaceRock.size.height, duration: rockTravelTime))`
的評論是我一直使用的是什麼,直到這一點。
謝謝你的幫助!
說我把SKPhysicsBody拿出來了,我該如何測試兩個節點之間的接觸? – Ari
@Ari你可以使用SKNode的intersects方法檢查它們的幀是否重疊。這取決於你想達到什麼。物理學可能是最好的方法,但你應該用物理學來移動你的身體。 –