gpt4 book ai didi

ios - 在 SpriteKit 中阻止 Sprite 相互插入

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

我正在编写一个 SpriteKit 游戏,我正在尝试添加 Cocos2D 传感器的等效项。我的问题是我的传感器一直在插入其他 Sprite ,但这不是我想要的。我希望传感器能够与其他 Sprite 重叠而不是将它们推来推去。我该如何解决?这是我为传感器添加的代码:

bubble.physicsBody = SKPhysicsBody(circleOfRadius: CGFloat(50))
bubble.physicsBody?.dynamic = false
bubble.physicsBody?.allowsRotation = false
bubble.physicsBody?.affectedByGravity = false

这是我的碰撞方法:

func didBeginContact(contact: SKPhysicsContact) {
let collision:UInt32 = (contact.bodyA.categoryBitMask | contact.bodyB.categoryBitMask)

if collision == (playerCategory | crateCategory) {
NSLog("Game Over")
var myLabel = SKLabelNode(fontNamed: "Arial")
myLabel.text = "GAME OVER"
myLabel.fontSize = 50
myLabel.color = SKColor.blueColor()
myLabel.position = (CGPointMake(self.frame.size.width*0.5, self.frame.size.height*0.5))
self.addChild(myLabel)
fisherman.physicsBody?.dynamic = false
fisherman.removeFromParent()
fish.physicsBody?.dynamic = false
fish.removeFromParent()
crate.physicsBody?.dynamic = false
crate.removeFromParent()
crateDuplicate.physicsBody?.dynamic = false
crateDuplicate.removeFromParent()


}
if collision == (playerCategory | bubbleCategory) {
NSLog("Bubble Contact")
bubbleDuplicate.removeAllActions()
bubbleDuplicate.removeFromParent()
bubble.removeAllActions()
bubble.removeFromParent()
bubbleDuplicate.setScale(0)
bubble.setScale(0)
bubbleDuplicate.alpha = 0


}


}

最佳答案

collisionBitMask 设置为 0,因此该特定对象与其他对象的所有碰撞都将被忽略。

关于ios - 在 SpriteKit 中阻止 Sprite 相互插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31148408/

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