Я делаю игру iOS (быстрый 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)
{
}
}
Но я не знаю, что поставить между скобками, чтобы сделать его работать гладко, как я хочу.
Почему вы не используете встроенное обнаружение столкновений из комплекта спрайтов? – Stefan
Вы имеете в виду the didbegincontact? (См. Править) – DNC
Да. См. Мой ответ с более подробной информацией. – Stefan