2016-12-15 8 views
0

を完了し、私はこのコードを持っている:スウィフトanimatewithDuration()は即座にそう

UIView.animate(withDuration: 10.0, delay: 0, options: .curveLinear , animations: { 
      self.gameLabel.alpha = 0 
}, completion: nil) 

このコードは、それが瞬時に0アルファになり、ゆっくりと遷移しない呼び出されたときに問題があります。私は間違って何をしていますか?

var gameLabel = SKLabelNode() 

override func didMove(to view: SKView) { 
    gameLabel.fontColor = UIColor.white 
    gameLabel.fontSize = 85 
    gameLabel.setScale(0.40) 
    gameLabel.text = "this is a game" 
    gameLabel.position = CGPoint(x: 0, y: 0) 
    gameLabel.zPosition = 0 
    gameLabel.alpha = 1 

    addChild(gameLabel) 
} 

func touchDown(atPoint pos : CGPoint) { 
    UIView.animate(withDuration: 2, animations: { 
      self.gameLabel.alpha = 0 
    }) 
} 
+0

アニメーションコードが正しく表示されます。追加の文脈を投稿できますか?問題を引き起こす要因が他にもあるかもしれません。 – nathan

+0

それは方法のタップが始まるか何でも、あなたが画面をタップすると呼び出されるもの –

答えて

0

だから、私は実行することで、私の問題を解決しました:

は、ここでは、コードのためのいくつかのより多くのコンテキストです。

self.gameLabel.run(SKAction.fadeOut(withDuration: 10))

+0

私は言いたいと思った。あなたは通常、SKViewsやアニメーションをアニメーション化するためにUIView.animationを使用することはできません。常にSKActionsに固執する。 :D – Fogmeister

関連する問題