Saat ini saya mencoba agar Kamera saya mengikuti "bola" pemain saya setiap kali pemain dipindahkan. Saya telah mengatur posisi Kamera untuk berpindah ke posisi x bola setiap kali bola dipindahkan, namun karena alasan tertentu, saat bola dipindahkan dengan cepat, SKCameraNode mengalami gangguan dan tersendat seolah-olah mencoba mengejar posisi simpul. Saya telah membaca bahwa itu karena fisika berjalan setelah pembaruan sebenarnya (), tetapi saya tidak tahu cara mengatasi masalah tersebut. Apakah ada cara untuk memperbaiki masalah ini?
CATATAN: Saya tidak ingin kamera selalu terpusat pada "bola", melainkan menunda sedikit saat kamera mengikuti bola tersebut, untuk memberikan kesan bergerak bebas. (jika itu masuk akal)
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)
}
}