以下代码有问题:

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来划分它。
似乎您的parameter无论如何都需要一个CGFloat。所以你应该把高度或者宽度除以2,然后通过。

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

10-06 15:06