Я использую акселерометр для перемещения спрайта по экрану и использую коллизии spriteKit, чтобы удерживать спрайт в пределах экрана. Есть ли способ предотвратить отскок спрайта от сторон экрана? (спрайт должен просто остановиться на краю экрана)
SpriteKit не позволяет спрайту покидать экран без подпрыгивания
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
Это такой отличный ответ - у меня был огромный блок кода, чтобы проверить границы и скорость и посмотреть, не выходит ли изображение за что-то. Я сократил все это до строк кода выше. Большое спасибо Тонетар!
- person NullHypothesis; 20.03.2016
Без проблем! В один из моих самых продуктивных дней я выбросил 1000 строк кода — Кен Томпсон — Brainyquote .com/quotes/quotes/k/kenthompso254858.html
- person tonethar; 21.03.2016
Установка свойств восстановления на узлах на ноль предотвращает отказ. Спасибо!
person
vigneshv
schedule
03.05.2014