Използвам това, за да спра падането му от дъното, но искам героят да може да излезе отстрани на екрана.
self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame];
Използвам това, за да спра падането му от дъното, но искам героят да може да излезе отстрани на екрана.
self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame];
Опитайте тази:
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 или други тестове, за да определите дали даден възел е напуснал изцяло екрана и след това да го премахнете или може би да го позиционирате от другата страна на екрана.
bodyWithEdgeFromPoint:toPoint:
? - person Wain   schedule 28.03.2014