Как да спрете падането на героите от екрана в комплекта спрайтове?

Използвам това, за да спра падането му от дъното, но искам героят да може да излезе отстрани на екрана.

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