SpriteKit не позволяет спрайту покидать экран без подпрыгивания

Я использую акселерометр для перемещения спрайта по экрану и использую коллизии spriteKit, чтобы удерживать спрайт в пределах экрана. Есть ли способ предотвратить отскок спрайта от сторон экрана? (спрайт должен просто остановиться на краю экрана)


person vigneshv    schedule 20.04.2014    source источник
comment
Есть ли способ опубликовать код?   -  person uchuugaka    schedule 20.04.2014
comment
Вы установили границы экрана в своем классе? То есть игрок не может покинуть экран?   -  person Adrian P    schedule 20.04.2014
comment
Вы можете установить свойство восстановления ваших узлов на 0   -  person ZeMoon    schedule 21.04.2014


Ответы (2)


Попробуйте SKConstraint Код будет выглядеть примерно так и будет ограничивать sprite сценой. Этот код входит в ваш файл scene:

let xRange = SKRange(lowerLimit:0,upperLimit:size.width)
let yRange = SKRange(lowerLimit:0,upperLimit:size.height)
//sprite.constraints = [SKConstraint.positionX(xRange,Y:yRange)] // iOS 9
sprite.constraints = [SKConstraint.positionX(xRange,y:yRange)]  // iOS 10
person tonethar    schedule 09.03.2016
comment
Это такой отличный ответ - у меня был огромный блок кода, чтобы проверить границы и скорость и посмотреть, не выходит ли изображение за что-то. Я сократил все это до строк кода выше. Большое спасибо Тонетар! - person NullHypothesis; 20.03.2016
comment
Без проблем! В один из моих самых продуктивных дней я выбросил 1000 строк кода — Кен Томпсон — Brainyquote .com/quotes/quotes/k/kenthompso254858.html - person tonethar; 21.03.2016

Установка свойств восстановления на узлах на ноль предотвращает отказ. Спасибо!

person vigneshv    schedule 03.05.2014