Ich versuche gerade, meine Kamera meinem Spieler "orb" folgen zu lassen, wenn der Spieler bewegt wird. Ich habe die Position der Kamera so eingestellt, dass sie sich immer dann in die x-Position der Kugel bewegt, wenn die Kugel bewegt wird. Wenn die Kugel jedoch schnell bewegt wird, stößt der SKCameraNode ab und stottert, als würde er versuchen, die Position des Knotens zu erreichen. Ich habe gelesen, dass dies daran liegt, dass die Physik nach dem eigentlichen Update() läuft, aber ich habe keine Ahnung, wie ich das Problem lösen könnte. Gibt es eine Möglichkeit, dieses Problem zu beheben?SKCameraNode verharrt, wenn Spieler sich bewegt
HINWEIS: Ich möchte nicht, dass die Kamera immer auf die "Kugel" zentriert, sondern etwas verzögert wird, wenn sie der Kugel folgt, um ihr ein freies Gefühl zu geben. (Wenn der Sinn macht)
import SpriteKit
class GameScene: SKScene {
var orb = SKSpriteNode()
var Touch: UITouch?
let theCamera: SKCameraNode = SKCameraNode()
override func didMoveToView(view: SKView) {
let orbTexture1 = SKTexture(imageNamed:"orb.png")
orb = SKSpriteNode(texture: orbTexture1)
orb.name = "Orb"
orb.position = CGPointMake(300, 95)
self.addChild(orb)
theCamera.position = CGPointMake(300, 0)
theCamera.name = "Camera"
self.addChild(theCamera)
self.camera = theCamera
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
for touch in touches {
if nodeAtPoint(touch.locationInNode(self)).name == "Orb" {
Touch = touch as UITouch
}
}
}
override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
for touch in touches {
if Touch != nil {
if touch as UITouch == Touch! {
let location = touch.locationInNode(self)
orb.position = location
}
}
}
}
override func update(currentTime: CFTimeInterval) {
/* Called before each frame is rendered */
let action = SKAction.moveToX(orb.position.x, duration: 0.5)
theCamera.runAction(action)
}
}
Verwenden Sie keine SKActions innerhalb der Update-Funktion. – Abdou023