![](/img/trans.png)
[英]SwiftUI misleading error: 'Int' is not convertible to 'CGFloat'
[英]'CGFloat is not convertible to 'int'
最近几个小时,我一直在努力尝试使用swift修复Xcode 6.2中的单个错误。
spriteName = "tiki-top-0\(rand)"
var toptiki = SKSpriteNode(imageNamed: spriteName)
//This line gives me the error
toptiki.position = CGPointMake(0, bottomtiki.position.y + heightBetweenObstacles)
tikiSet.addChild(toptiki)
toptiki.physicsBody = SKPhysicsBody(rectangleOfSize: toptiki.size)
toptiki.physicsBody?.dynamic = false
toptiki.physicsBody?.categoryBitMask = category_tiki
toptiki.physicsBody?.contactTestBitMask = category_car
我一直到处搜索,由于某种原因,我真的只是认为某个地方存在语法错误。 自从更新Xcode 6及其beta以来,我在PhysicalBody?.contactTestBitMask上也遇到了同样的问题。 没必要。 但是现在由于某种原因,它必须被链接起来。
我在这里没有使用CGFloat,为什么它告诉我不应该使用int?
非常感谢您的帮助,我真的再也无法炒脑了,哈哈
我假设heightBetweenObstacles
是按照以下heightBetweenObstacles
行定义的:
let heightBetweenObstacles = 42
Swift将推断常量的类型,在这种情况下,它将推断Int
。 当您尝试将其添加到CGFloat
( bottomtiki.position.y + heightBetweenObstacles
)时,它会抱怨。 只需显式指定类型即可:
let heightBetweenObstacles: CGFloat = 42
现在,您可以毫不费力地将常量添加到其他CGFloat
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.