2016-06-22 5 views
0

最近、自分のコードをXcode 8ベータに付属のSwift 3.0構文に変換しました。コードが最新の構文で動作するためには、いくつかのコード行を変更する必要がありました。私はすべての行のコードを除く)を修正することができました。バックグラウンドイメージを連続してループさせるために使用するforループに関するエラーが発生しました。私が手Swift 3.0とforループに関する軽微な構文の問題

正確なエラーメッセージは次のとおりです。ループインデックス

for i in 0 ..< 3 { 
    let background = SKSpriteNode(texture: backgroundTexture) 
    background.position = CGPoint(x: backgroundTexture.size().width/2 + (backgroundTexture.size().width * CGFloat(i)), y: self.frame.midY) 
    background.size.height = self.frame.height 
    background.run(movingAndReplacingBackground) 
    self.addChild(background) 
} 

答えて

4

これは:

for i in 0..<3{ 

    let index = CGFloat(i) 
    //Your Code 
    let background = SKSpriteNode(texture: backgroundTexture) 
    background.position = CGPoint(x: backgroundTexture.size().width/2 + (backgroundTexture.size().width * index), y: self.frame.midY) 
    background.size.height = self.frame.height 
    background.run(movingAndReplacingBackground) 
    self.addChild(background) 
} 

問題はあなたですIntのfor-loopを実行しており、CGFloatと指定しています。だから、両方のタイプが混乱します。

+0

これは完璧に機能しました。お手伝いありがとう! –

2

てみてくださいとして浮動小数点型を使用しないでくださいメンバーにあいまいな参照「.. <」

for i:CGFloat in 0 ..< 3 { 

     let background = SKSpriteNode(texture: backgroundTexture) 
     background.position = CGPoint(x: backgroundTexture.size().width/2 + (backgroundTexture.size().width * i), y: self.frame.midY) 
     background.size.height = self.frame.height 
     background.run(movingAndReplacingBackground) 
     self.addChild(background) 

    } 
+1

ありがとう!この方法は完璧に機能しました! –

関連する問題