2016-05-03 6 views
0

初めて画面に触れるときにオブジェクトをゲームにフェードインしようとしていますが、前に隠されていたため(ゲームが開始されたとき)、フェードインしませんアニメーションなしでのみ表示されます。隠しときにフェードイン

ご意見はありますか?


これは、例えばコードである:

import SpriteKit 

class GameScene: SKScene { 

    var myLabel = SKLabelNode() 
    var gameStarted = Bool() 

    func setupMyLabel(){ 
     myLabel = SKLabelNode(fontNamed:"Chalkduster") 
     myLabel.text = "Hello, World!" 
     myLabel.fontSize = 35 
     myLabel.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame)) 
    } 

    override func didMoveToView(view: SKView) { 
     /* Setup your scene here */ 

     setupMyLabel() 
     self.addChild(myLabel) 
     myLabel.hidden = true 

     gameStarted = false 
    } 

    func startGame(){ 
     myLabel.hidden = false 
    } 

    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { 
     /* Called when a touch begins */ 

     if gameStarted == false{ 

      gameStarted = true 

      startGame() 
      self.myLabel.runAction(SKAction.fadeInWithDuration(2.0)) 
     } 
     else{ 
      //do nothing 
     } 
    } 
} 
+0

あなたは 'アルファ= 0.0を使用している場合はどうなりますか'の代わりに' hidden = true'を使用しますか? –

+0

それは、hahaの作品です。ありがとうございました!! 'hidden 'を' alpha'に変更し、 'fadeInWithDuration'の代わりに' fadeAlphaTo'を使用しました。 – Luiz

答えて

2

AppleのdocumentationfadeInWithDuration上によれば、それは述べて:アクションが実行されると、ノードのアルファプロパティが 現在の値からアニメーション

1.0まで。

ノードが起動時に非表示になっていると思うのは、そうだと思います。 =)

代わりに、ノードの隠しプロパティをtrueに設定する代わりに、アルファ値を0に設定することもできます。または、アルファを設定するrunActionメソッドを含む独自のメソッドを作成することもできます0に、ノードをアン隠し、その後、(任意の構文エラーを許してください、これはフリーハンドの擬似コードである)以下のものに類似したSKAction.fadeInWithDurationを呼び出す...

startGame() 
self.fadeIn(self.myLabel, duration: 2.0) 

... 

func fadeIn() { 
    self.myLabel.alpha = 0.0 
    self.myLabel.hidden = false 
    self.myLabel.runAction(SKAction.fadeInWithDuration(2.0)) 
} 
+0

アルファメソッドはうまくいきましたが、2番目の方法では、 'UILabel'を' Optional 'に変更するよう指示しました。アニメーションなしで' myLabel'を表示していました。 – Luiz

+0

あなたは正しいです、私はself.myLabelがSKLabelNodeだったという事実を完全に見落としました。ラベルと期間を渡す代わりにifチェックと参照self.myLabelを削除しても、それでもアニメーション化されませんか? –

+0

それはハハを動作させます。ありがとうございました!! =) – Luiz

関連する問題