ios - for 循环错误

标签 ios swift for-loop sprite-kit

我正在用 SpriteKit 制作一个游戏,我写这个是为了制作一个移动的背景:

        let spaceMovement = SKAction.moveBy(CGVector(dx:0, dy:-bg1.frame.size.height), duration: NSTimeInterval(0.4 * bg1.frame.size.height))
        let resetSpace = SKAction.moveBy(CGVector(dx:0, dy:bg1.frame.size.height), duration: 0.0)
        let repeatSpaceMovement = SKAction.repeatActionForever(SKAction.sequence([spaceMovement, resetSpace]))

        for var i:CGFloat = 0; i < self.frame.size.height / (bg1.size.height); i++
        {
            let sprite = self.bg1;
            sprite.zPosition = -20
            sprite.position = CGPointMake(sprite.size.width/2, i * sprite.size.height)
            sprite.runAction(repeatSpaceMovement)
            self.addChild(sprite)

        }

但它给了我这个错误:

libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb) 

最佳答案

我认为您缺少一个 .frame,所以您最终除以 0?也许你的意思是:

for var i:CGFloat = 0; i < self.frame.size.height / (bg1.frame.size.height); i++

另外,不要使用 C++ 风格的循环。他们要走了,他们很丑。这个怎么样?它的行为应该相同。

for i in (0..<self.frame.size.height / bg1.frame.size.height) {
    ...
}

关于ios - for 循环错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36365129/

相关文章:

swift - 返回集合的切片类型

swift - swift中的堆算法

c++ - 将原始指针视为基于范围的 for 循环中的范围

c# - 遍历名称上具有不同数字的对象变量

ios - 在核心数据中存储 NSDate (swift)

ios - 如何从 UITableViewRowAction 获取对按钮的引用?

ios - 由于 AVCaptureConnection 上不可用的 PixelFormat 类型,应用程序终止

c++ - 用C++添加整数

javascript - 需要使用javascript识别iOS编辑键盘中的 'Done'按钮点击

ios - 点击按钮时 UIAlertView 崩溃 : how to solve?