2016-08-15 8 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

関連する問題