2015-07-07 2 views
2

Я пытался использовать новый SKCameraNode в iOS 9.0, но я обнаружил, что камера всегда возвращает false для containsNode() и пустой набор для содержащихсяNodeSet().Функции SKCameraNode containsNode() и containsNodeSet() не работают должным образом

Для тестирования я создал пустой проект с шаблоном SpriteKit и добавил камеру. Единственное, что я изменил был в GameScene:

class GameScene: SKScene { 
    let myLabel = SKLabelNode(fontNamed:"Chalkduster") 

    override func didMoveToView(view: SKView) { 
     /Setup your scene here */ 
     myLabel.text = "Hello, World!"; 
     myLabel.fontSize = 65; 
     myLabel.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame)); 

     let camera = SKCameraNode() 
     camera.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame)) 

     self.addChild(camera) 
     self.addChild(myLabel) 

     self.camera = camera 
    } 

    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { 
    /Called when a touch begins */ 

     for touch in touches { 
      let location = touch.locationInNode(self) 

      print(camera!.containsNode(myLabel)) 
      print(camera!.containedNodeSet()) 

     } 
    } 

    override func update(currentTime: CFTimeInterval) { 
     /Called before each frame is rendered */ 
    } 
} 

выход в сруба:

false 
[] 

Не должно быть возвращение истинного и MyLabel в наборе, так как это узел в сцене (и хорошо видно)? Есть ли что-то, что я делаю неправильно? Любая помощь приветствуется!

Просто, прежде чем кто говорит, что тренажер не является точным, я бегу это на IPad мини 2.: P

ответ

0

Оказывается, это была ошибка, и компания Apple признала его прошивкой 9 бета-3 Я отредактирую свой ответ, чтобы подтвердить, работает ли он.

EDIT: Он работает! Обновите устройство разработки, и оно должно работать.

+0

Все еще видя это в iOS 9.3. Facepalm. – damirstuhec

+0

Теперь я использую iOS 10.2, поэтому ... – miniluigi008

Смежные вопросы