Как остановить падение персонажа с экрана в наборе спрайтов?

Я использую это, чтобы он не падал со дна, но я хочу, чтобы персонаж мог уйти за край экрана.

self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame];

person user3394385    schedule 28.03.2014    source источник
comment
Вы смотрели на bodyWithEdgeFromPoint:toPoint:?   -  person Wain    schedule 28.03.2014
comment
да, но я не понимаю, как его использовать?   -  person user3394385    schedule 28.03.2014
comment
Можете ли вы попробовать добавить self.physicsBody.dynamic = NO;   -  person Greg    schedule 28.03.2014
comment
Как насчет удаления игрока, когда он достигает определенной точки?   -  person user3394385    schedule 28.03.2014


Ответы (1)


Попробуй это:

CGFloat enlargeByPoints = 100.0;
CGRect frame = self.frame;
frame.origin.x -= enlargeByPoints;
frame.size.width += enlargeByPoints * 2.0;
self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:frame];

Это увеличивает размер контура края на 100 точек с обеих сторон экрана.

Однако игрок все равно столкнется с невидимой стеной после того, как покинет экран. Но вы можете использовать CGRectContainsRect или другие тесты, чтобы определить, полностью ли узел покинул экран, а затем удалить его или, возможно, расположить на другой стороне экрана.

person LearnCocos2D    schedule 28.03.2014