簡體   English   中英

'CGFloat不能轉換為'int'

[英]'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 當您嘗試將其添加到CGFloatbottomtiki.position.y + heightBetweenObstacles )時,它會抱怨。 只需顯式指定類型即可:

let heightBetweenObstacles: CGFloat = 42

現在,您可以毫不費力地將常量添加到其他CGFloat

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM