найдено ноль при развертывании необязательного значения (firebase) - PullRequest
0 голосов
/ 06 мая 2018

Я использую фреймворки Firebase для загрузки X-координат спрайта на сервер в режиме реального времени, а другой спрайт будет отражать свои перемещения, используя координаты, которые поступают с сервера, но выдает ошибку

найдено ноль при развертывании необязательного значения

и вот мой код, пожалуйста, помогите:

import SpriteKit
import GameplayKit
import FirebaseDatabase

class GameScene: SKScene {

var loc: DatabaseReference?
var getLoc: DatabaseHandle?
var x : CGFloat?
var y : CGFloat?
var handle = SKSpriteNode()
var opponentHandle = SKSpriteNode()
override func sceneDidLoad() {
    handle = childNode(withName: "handle") as! SKSpriteNode
    opponentHandle = childNode(withName: "opponentHandle") as! SKSpriteNode
    loc = Database.database().reference()
}
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
    for t in touches{
        var fingerloc = t.location(in: self)
        handle.run(SKAction.move(to: fingerloc, duration: 0.000001))
        loc?.child("ali").child("position").child("locX").child("locx").setValue(CGFloat(handle.position.x))
        loc?.child("ali").child("position").child("locY").childByAutoId().setValue(String(describing: handle.position.y))
        getLoc = loc?.child("ali").child("position").child("locX").observe(.childAdded, with: { (snapshot) in

            self.x = snapshot.value as? CGFloat
            print(self.x!)
        })
        /*getLoc = loc?.child("ali").child("position").child("locY").observe(.childAdded, with: { (snapshot) in

            self.y = snapshot.value as? CGFloat
        })*/
        //opponentHandle.run(SKAction.moveTo(y: CGFloat((y!)), duration: 0.000001))*/
    }
    opponentHandle.run(SKAction.moveTo(x: x!, duration: 0.000001))
}
 override func update(_ currentTime: TimeInterval) {

 }
}
...