2016-08-15 68 views
0

我試圖在遊戲結束時更新我的​​分數標籤。由於變量(似乎是)在我認爲範圍之外,我只是刪除標籤並在adjust函數中創建一個新標籤。我不熟悉迅速,並會感謝幫助。我可以重新定位還是必須創建新標籤?不能弄明白。謝謝從父節點移除子Swift 2

func loadScore() { 
    let scoreBand = SKLabelNode(fontNamed: "Arial") 
    scoreBand.name = StickHeroGameSceneChildName.ScoreName.rawValue 
    scoreBand.text = "0" 
    scoreBand.position = CGPointMake(0, DefinedScreenHeight/2 - 200) 
    scoreBand.fontColor = SKColor.whiteColor() 
    scoreBand.fontSize = 100 
    scoreBand.zPosition = StickHeroGameSceneZposition.ScoreZposition.rawValue 
    scoreBand.horizontalAlignmentMode = .Center 

    addChild(scoreBand) 
} 
func adjustScore() { 
    //var scoreBand = scoreBand 
    scoreBand.position = CGPointMake(0, DefinedScreenHeight/2 - 100)//doesnt recognize scoreBand 

} 

回答

0

您可以重新定位,只需聲明scoreBand作爲您的包含類的變量。例如:

class SomeClass: SKSpriteNode { 

    var scoreBand: SKLabelNode! 

    override init(size: CGSize) { 
     scoreBand = SKLabelNode(fontNamed: "Arial") 

     super.init(size: size) 

     anchorPoint = CGPointMake(0.5, 0.5) 
     physicsWorld.contactDelegate = self 
    } 

    func loadScore() { 
     scoreBand.name = StickHeroGameSceneChildName.ScoreName.rawValue 
     scoreBand.text = "0" 
     scoreBand.position = CGPointMake(0, DefinedScreenHeight/2 - 200) 
     scoreBand.fontColor = SKColor.whiteColor() 
     scoreBand.fontSize = 100 
     scoreBand.zPosition = StickHeroGameSceneZposition.ScoreZposition.rawValue 
     scoreBand.horizontalAlignmentMode = .Center 

     addChild(scoreBand) 
    } 

    func adjustScore() { 
     scoreBand.position = CGPointMake(0, DefinedScreenHeight/2 - 100) 
    } 
} 
+0

謝謝卡特,它帶來了另一個錯誤,我編輯你的答案與它帶來的錯誤。對不起,新的這個網站 – hahu

+0

@hahu這一切都很好!通常編輯是在你原來的問題上進行的,而不是答案。無論如何,我已經更新了我的答案,以解決您遇到的錯誤。 – Carter