我在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!!!!!")
}
答案 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()
}
}