我收到错误:"试图在尝试运行我的游戏时尝试添加已经拥有父项的SKNode".
如果我将SKSpriteNode本地添加到函数中,它运行正常.但是当我尝试全局声明它时,我得到了那个错误.任何帮助解决此错误都会很棒.我认为这与它有关, self.bee.removeFromParent()但我不能让它工作.
让bee = SKSpriteNode(imageNamed:"Bee")
runAction(SKAction.repeatActionForever(
SKAction.sequence([
SKAction.runBlock(addBee),
SKAction.waitForDuration(0.5)
])
))
Run Code Online (Sandbox Code Playgroud)
func addBee(){
bee.name = "Bee"
let actualY = random(min: 0, max: size.height+bee.size.height ) // random
bee.position = CGPoint(x: size.width + bee.size.width/2, y: actualY)
self.addChild(bee)
let slopeToPlayer = (bee.position.y - player.position.y) / (bee.position.x - player.position.x)
let constant = bee.position.y - slopeToPlayer * bee.position.x
let finalX : CGFloat = bee.position.x < player.position.x ? 500.0 : -500.0 // Set it to somewhere outside screen size
let finalY = constant + …Run Code Online (Sandbox Code Playgroud)