代码之家  ›  专栏  ›  技术社区  ›  Drakalex

创建一个继承自Swift中SKSpriteNode数组的类

  •  0
  • Drakalex  · 技术社区  · 8 年前

    我试图在SpriteKit中创建一个类,但我不知道这是否可能。

    我知道:

    class myClass: SKSpriteNode
    {
        var myVar: Int = 0
        var mySecondVar: Int = 0
    }
    

    将创建一个继承自SKSpriteNode类的类。

    然后,为了从这个类创建一个二维数组,我使用了这个:

    var array = [[myClass]]()
    

    所以我可以添加元素

     var elements = [myClass]()
    
     elements.append(myClass(imageNamed: "image"))
     elements.append(myClass(imageNamed: "image"))
    
     array.append(elements)
    

    因此,在这里,我可以使用

     array[x][y].myVar
     array[x][y].mySecondVar
    

    但我想做的是,mySecondVar将是myClass中的一个变量,所以这里没问题,但我想使用这种语法访问myVar:

     array[x].myVar
     array[x][y].mySecondVar
    

    我不知道我怎么能做到这一点,我试过这样做:

     class myClass: [SKSpriteNode]
    

    但它不起作用。你能帮我吗? 谢谢

    1 回复  |  直到 8 年前
        1
  •  1
  •   DeFrenZ    8 年前

    在这种情况下,我建议你完全以不同的方式来做。通过这种方式,我们以更具体、更易于使用的方式表示问题:

    class LaserBeam {
        var emitter: SKSpriteNode
        var receiver: SKSpriteNode
        var isActive: Bool
    }
    class LaserNode: SKSpriteNode {
        var temperature: CGFloat
    }
    
    var array: [LaserBeam] = ...