2016-12-15 6 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

내가 말할 것입니다. 일반적으로 UIView.animation을 사용하여 SKNode 및 물건을 애니메이션으로 만들 수 없습니다. 항상 SKActions에 집착하십시오. :디 – Fogmeister