簡體   English   中英

阻止SpriteKit在SpriteKit中互相推動

[英]Stop Sprites from Pushing Each Other in SpriteKit

我正在編寫SpriteKit游戲,並且試圖添加與Cocos2D傳感器等效的對象。 我的問題是我的傳感器不斷推動其他精靈,但這不是我想要的。 我希望傳感器能夠與其他子畫面重疊,而不要將它們推向四周。 我該如何解決? 這是我為傳感器添加的代碼:

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,這樣該特定對象與其他對象的所有沖突都將被忽略。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM