我对以下代码有问题:
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