0

最近、コードを Xcode 8 ベータ版に付属の Swift 3.0 構文に変換しました。コードが最新の構文で動作するように変更する必要がある数行のコードに出くわしました。背景画像を継続的にループさせるために使用する for ループに関するエラーを除いて、コードのすべての行を修正できました。

私が得る正確なエラーメッセージは次のとおりです:メンバー '..<' へのあいまいな参照

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)

    }
4

2 に答える 2

4

ループ インデックスとして浮動小数点型を使用しないでください

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)
}
于 2016-06-22T06:47:40.510 に答える
2

これを試してください:

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)
}

問題は、 for-loop を実行してIntいて、それを として指定していることCGFloatです。したがって、両方のタイプの間に混乱があります。

于 2016-06-22T06:48:36.433 に答える