2015-11-12 3 views
1

Я пытаюсь перечислить все узлы спрайта, которые я подклассифицировал как VillainSquirrel (как вы можете видеть ниже), и я пытаюсь получить доступ к свойствам, специфичным для класса VillainSquirrel. Однако я сталкиваюсь с трудностями.Перечисление через дочерние узлы как разные Тип

Это ошибка, я получаю:

Tuple types '(SKNode, UnsafeMutablePointer<ObjCBool>)' and '()' have a different number of elements (2 vs. 0) 

Вот что я, чтобы попытаться перечислить через узлы, как VillainSquirrel:

self.enumerateChildNodesWithName("villainType1") { 
     node as! VillainSquirrel, stop in 
     if (node.position.y > self.size.height){ 
      node.brownMarker.position = CGPointMake(node.position.x, self.size.height - 10) 
      node.brownMarker.zPosition = 1 
      self.addChild(node.brownMarker) 
     } 
    } 

Вот мой VillainSquirrel класса (или, по крайней мере, начало этого):

class VillainSquirrel: SKSpriteNode { 
    var brownMarker = SKSpriteNode() 
    var brownMarkerVisible: Bool 

    override init(texture: SKTexture!, color: SKColor, size: CGSize) { 

    self.brownMarker.zPosition = 1 
    self.brownMarker.xScale = 0.25 
    self.brownMarker.yScale = 0.25 
    self.brownMarker = SKSpriteNode(imageNamed:"brownMarkerTrans.png") 
... 

Любая помощь, которую вы можете оказать, была бы принята с благодарностью! Благодаря!

ответ

0

Понял это!

self.enumerateChildNodesWithName("villainType1") { 
     node, stop in 

     let realnode = node as! VillainSquirrel 
     if (node.position.y > self.size.height){ 
      realnode.brownMarker.position = CGPointMake(realnode.position.x, self.size.height - 10) 
      realnode.brownMarker.zPosition = 1 
      if (!realnode.brownMarkerVisible){ 
       self.addChild(realnode.brownMarker) 
       realnode.brownMarkerVisible = true 
      } 
     } 
     else if (realnode.brownMarkerVisible){ 
      realnode.brownMarkerVisible = false 
      realnode.brownMarker.removeFromParent() 

     } 
    } 

Я просто должен был напечатанный материал узел, как мой подклассы spriteNode в блоке, я не мог сделать это с узлом, остановка в

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