我正在製作iOS遊戲(swift xcode)。碰撞時將節點粘貼到另一個節點
有一輛不斷移動的汽車(SKAction)和一個可以用滑動手勢移動的玩家。
都好,但現在我想的是,如果玩家觸摸的車,它會移動相同的同車(它被貼到汽車)
現在我該怎麼辦呢?
我試過很多東西,但他們沒有工作順利..
我試圖用
if (CGRectIntersectsRect(car.frame, player.frame)) {
car.position = player.position
}
這工作,但球員被踢倒在車的中間,我不想這個。 我想要的是,如果玩家觸摸到汽車的底部,它會粘在汽車的底部。
我該怎麼做?
的碰撞detecion我還試圖用:
func didBeginContact(contact: SKPhysicsContact!) {
var firstBody:SKPhysicsBody
var secondBody:SKPhysicsBody
if(contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask){
firstBody = contact.bodyA
secondBody = contact.bodyB
}else{
firstBody = contact.bodyB
secondBody = contact.bodyA
}
if((firstBody.categoryBitMask & CarCategory) != 0 && (secondBody.categoryBitMask & playerCategory) != 0)
{
}
}
,但我不知道該怎麼括號之間放,使其順利運作就像我想要的。
爲什麼不使用sprite套件中的內置碰撞檢測? – Stefan 2014-11-23 21:47:54
你的意思是didbegincontact? (見編輯) – DNC 2014-11-23 21:52:39
是的。更多細節見我的答案。 – Stefan 2014-11-23 21:58:49