在spritekit

时间:2016-02-04 04:41:47

标签: sprite-kit swift2

我设计了一个设置窗口的布局,用弹出按钮和不在其中的内容,我想通过为设置菜单创建一个单独的类来避免spagetti代码。我不太清楚如何做到这一点。我到目前为止尝试在swift中创建一个类型为sknode的类,但不知道从那里去哪里

class menu:SKNode {
    let button = SKSpriteNode(imageNamed:"button") 
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

    override init(){
        super.init()
         var fixedSize = self.frame.width/11
    background.size = CGSizeMake(self.frame.width-fixedSize, self.frame.size.height-fixedSize)
    background.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/2)
    self.addChild(background)
    }
}


 //In the main method i said let settings = menu()  self.addChild(settings)   background sprite doesn't show

1 个答案:

答案 0 :(得分:1)

您需要一个名为Menu的SKNode,它将包含所有按钮,图像等。您必须创建一个SKNode。您希望菜单中包含的所有内容都必须将其作为子项添加到菜单中(因此菜单类中的self.addChild(button))。

然后,在您的场景类中,您必须创建一个菜单对象并将其添加为子self.addChild(menu)

您可以使用菜单类来控制实现touchesBegan方法的菜单按钮的触摸,并将userInteractionEnabled设置为true,这样您就可以将其与场景所有菜单UI和逻辑。