gpt4 book ai didi

swift - 我如何让两件事相互碰撞,然后从场景中移除一个?

转载 作者:行者123 更新时间:2023-11-28 06:51:41 25 4
gpt4 key购买 nike

我有四个水平对齐的彩色条。我还有一些确切的颜色从屏幕顶部落下,需要与底部的条匹配,然后在接触时从场景中移除。(如果下降的黄色条击中底部黄色条,从场景中移除下降的黄色条)那么,我应该为枚举中的每个节点设置八个不同的案例,而不是四个吗?这是现在的样子:

enum Bodies: UInt32 {
case blueBar = 1
case redBar = 2
case yellowBar = 4
case greenBar = 8

}

他们中的一些人没有做他们应该做的事情,这就是我问的原因。提前致谢。

最佳答案

虽然我可以提供帮助,但您尝试做的不被视为枚举。听起来你想让两件事发生碰撞,而其中一件消失。试试这个。

let blueBar = SKSpriteNode(imageNamed: "name of image")
blueBar.name = "Bluebar"

let fallingBlueBar = SKSpriteNode(imageNamed: "name of image")
blueBar.name = "FallingBluebar"

func didBeginContact(contact: SKPhysicsContact) {
if contact.bodyA.node != nil && contact.bodyB.node != nil {
let firstBody = contact.bodyA.node as! SKSpriteNode
let secondBody = contact.bodyB.node as! SKSpriteNode

if ((firstBody.name == "BlueBar") && (secondBody.name == "FallingBlueBar")) {

//call the function of what happens when they hit. ex-fall/disappear/explode

}
if ((firstBody.name == "FallingBlueBar") && (secondBody.name == "BlueBar")) {

//call the function of what happens when they hit. ex-fall/disappear/explode


}
}
}

至于将其从场景中移除。在我们在上面的每个 if 语句中使用的相同函数中放置

fallingBlueBar.removeFromParent()

关于swift - 我如何让两件事相互碰撞,然后从场景中移除一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34707711/

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