xcode – 二进制运算符’.. <'不能应用于'Int'和'CGFloat'类型的 *** 作数

xcode – 二进制运算符’.. <'不能应用于'Int'和'CGFloat'类型的 *** 作数,第1张

概述我正在尝试创建一个for循环,但似乎无法理解如何摆脱这个错误 我的代码: for i:CGFloat in 0 ..< 2 + self.frame.size.width / (movingGroundTexture.size().width) { let sprite = SKSpriteNode(texture: movingGroundTexture) sp 我正在尝试创建一个for循环,但似乎无法理解如何摆脱这个错误

我的代码:

for i:CGfloat in 0 ..< 2 + self.frame.size.wIDth / (movingGroundTexture.size().wIDth) {         let sprite = SKSpriteNode(texture: movingGroundTexture)        sprite.zposition = 0        sprite.anchorPoint = CGPointMake(0,0)        sprite.position = CGPointMake(i * sprite.size.wIDth,0)        addChild(sprite)    }

self.frame.size.wIDth和(movingGroundTexture.aize().wIDth)上的行有错误.

解决方法 您不能使用浮点类型创建 CountableRange(或 CountableClosedRange).

您要么将2 self.frame.size.wIDth / movingGroundTexture.size().wIDth转换为Int:

for i in 0 ..< Int(2 + self.frame.size.wIDth / movingGroundTexture.size().wIDth) {     // i is an Int      }

或者你想使用strIDe(Swift 2语法):

for i in CGfloat(0).strIDe(to: 2 + self.frame.size.wIDth / movingGroundTexture.size().wIDth,by: 1) {     // i is a CGfloat   }

Swift 3语法:

for i in strIDe(from: 0,to: 2 + self.frame.size.wIDth / movingGroundTexture.size().wIDth,by: 1) {    // i is a CGfloat}

取决于您是否需要浮点精度.请注意,如果您的上限是非整数值,则strIDe版本将比范围运算符版本再迭代一次,因为Int(…)将忽略小数组件.

总结

以上是内存溢出为你收集整理的xcode – 二进制运算符’.. <'不能应用于'Int'和'CGFloat'类型的 *** 作数全部内容,希望文章能够帮你解决xcode – 二进制运算符’.. <'不能应用于'Int'和'CGFloat'类型的 *** 作数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1053619.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存