gpt4 book ai didi

swift - child 一旦从 parent 身上移除就不会再出现

转载 作者:行者123 更新时间:2023-11-28 05:36:14 24 4
gpt4 key购买 nike

我正在制作一款 super 简单的游戏,游戏会根据形状数组(代码块中的形状)创建一个随机的、可点击的形状。点击后,我在点击的节点上调用 node.removefromparent() 并通过 addchild 从同一数组向根节点添加一个新节点。

这是我的问题:如果创建的随机节点与之前删除的节点相同,则不会显示。我该如何解决这个问题?

创建函数和删除函数的代码如下:

创作

func CreateShape() {

let shape = shapes.randomElement()!
shape.anchorPoint = CGPoint(x: 0.5, y: 0.5)
shape.colorBlendFactor = 1.0
shape.color = colors.randomElement() ?? UIColor.systemPink
shape.name = "figur"
shape.zPosition = 100
shape.physicsBody = SKPhysicsBody(circleOfRadius: 150)
shape.physicsBody?.isDynamic = false
shape.position = CGPoint(x: randomPos().x, y: randomPos().y)
print(shape)

addChild(shape)

}

删除:

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {

let touch = touches.first
let location = touch!.location(in: self)
let tappedNodes = nodes(at: location)

guard let tapped = tappedNodes.first else { return }

if tapped.name == "figur" {

let fadeOut = SKAction.fadeAlpha(to: 0, duration: 0.5)
let randomAction = actions.randomElement()!
let remove = SKAction.removeFromParent()
let sequence = SKAction.sequence([randomAction, fadeOut, remove])
sequence.timingMode = .easeInEaseOut

tapped.run(sequence)

self.isUserInteractionEnabled = false

DispatchQueue.main.asyncAfter(deadline: .now() + 1.5, execute: {

self.isUserInteractionEnabled = true
self.CreateShape()

})
}
}

最佳答案

您将 alpha 设置为 0,但您从未重置它。

func CreateShape() {

let shape = shapes.randomElement()!
shape.anchorPoint = CGPoint(x: 0.5, y: 0.5)
shape.colorBlendFactor = 1.0
shape.color = colors.randomElement() ?? UIColor.systemPink
shape.name = "figur"
shape.zPosition = 100
shape.physicsBody = SKPhysicsBody(circleOfRadius: 150)
shape.physicsBody?.isDynamic = false
shape.position = CGPoint(x: randomPos().x, y: randomPos().y)
shape.alpha = 1.0 //<-----insert here
print(shape)


addChild(shape)

}

关于swift - child 一旦从 parent 身上移除就不会再出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58563344/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com