2015-05-11 56 views
0

我目前正在設計一個遊戲(iOS版雨燕,雪碧套件)三SKPhysics類別採用不同的功能:對不同的碰撞類型

  1. 球員
  2. 對象
  3. 平臺

當發生這些類別中的任何一個之間的碰撞時,將執行以下功能:

func didBeginContact(contact: SKPhysicsContact) { 
    println("Collision") 
    self.gameOver = true 

} 

這對玩家和物體碰撞時很好,但當玩家在平臺上行走時,它不應該運行。

如何爲某些類別之間的碰撞設置特定的功能?或者,爲了更改我的問題,如何在上述函數中指定不同的碰撞?

謝謝,夥計們!

回答

2

你應該帶上你的接觸參數並使用它的屬性。具體來說,bodyA和bodyB將允許您區分發生碰撞的物體。只要把這些像如下if語句,

if((bodyA.physicsBody == hero.physicsBody) && (bodyB.physicsBody == platform.physicsBody)){ 
    //Perform relevant code 
    } 
    else if((bodyA.physicsBody == hero.physicsBody) && (bodyB.physicsBody == heartPickup.physicsBody)){ 
//Perform relevant code 
} 

這將允許您運行取決於哪個精靈/物理屍體已經被連接的代碼不同部分。

+0

謝謝你。 稍作修改就行了! –