二元运算符'/'不能应用于类型 'CGSize' 和 'Int' 的操作数



我对以下代码有问题:

let torpedoNode = SKSpriteNode(imageNamed: "Torpedo")
torpedoNode.position = player.position
torpedoNode.position.y += 5
torpedoNode.physicsBody = SKPhysicsBody(circleOfRadius: torpedoNode.size / 2)

我得到的错误是以下行:

torpedoNode.physicsBody = SKPhysicsBody(circleOfRadius: torpedoNode.size / 2)

错误是:

二进制运算符"/"不能应用于类型为"CGSize"和"Int"的操作数

CGSize是一个包含两个CGFloat值的结构 - 宽度和高度。

所以你不能用Int来划分它.

无论如何,您的参数似乎都需要CGFloat。因此,您应该将高度或宽度除以 2 并传递。

torpedoNode.physicsBody = SKPhysicsBody(circleOfRadius: torpedoNode.size.width / 2) //or height whichever is appropriate

最新更新