在我的Level1类中调用函数时,如何在GameScene中添加一个按钮?

时间:2015-06-02 13:51:53

标签: swift sprite-kit

我在GameScene中隐藏了这个二级按钮,我想要的是当用户在我的level1类中完成第一级时,二级按钮应该出现在我的GameScene中。我怎么能这样工作呢?这里有一些代码,我尝试过工作,但没有任何反应。如果您需要更多信息,请告诉我们!

// GameScene Class

func selectLevel() {
    let fadeIn = SKAction.fadeInWithDuration(1.0)

    levelTwoButton.position = CGPointMake(self.size.width / 2.0, self.size.height / 2.2)
    levelTwoButton.zPosition = 20
    levelTwoButton.setScale(0.8)
    levelTwoButton.alpha = 0
    levelTwoButton.hidden = true
    levelTwoButton.runAction(fadeIn)
    levelTwoButton.name = "leveltwobutton"
    addChild(levelTwoButton)
}

//level1 Class

func nexLevelUnlocked() {
    runAction(playLevelCompleteSound)
    passLevelOne()

    GameScene().levelTwoButton.hidden = false
}

    if firstBody.categoryBitMask == HeroCategory && sixthBody.categoryBitMask == GoldKeyCategory{
        nexLevelUnlocked()

        println("you win!!!!!")
    }

1 个答案:

答案 0 :(得分:0)

有些人在我制作的另一个帖子中帮助了我并回答了问题。谢谢@Dharmesh Kheni。

if firstBody.categoryBitMask == HeroCategory && sixthBody.categoryBitMask ==   
GoldKeyCategory{

GameScene().unlockLevelTwo()
runAction(playLevelCompleteSound)
println("you win and level two button unlocked in the main menu!!!!!")

NSUserDefaults().setBool(true, forKey: "Leavel2")

 }

在你的gameScene之后,在你的didMoveToView方法中读取每一个     以这种方式加载视图的时间:

override func didMoveToView(view: SKView) {
/* Setup your scene here */
let unlockLeavel2 = NSUserDefaults().boolForKey("Leavel2")

if unlockLeavel2 {

    unlockLevelTwo()
}
}