Sprite Kit - iOS 7.1更新后由于比例而导致对象发生碰撞

Dav*_*vid 3 xcode objective-c scale sprite-kit ios7.1

没有问题,但在iOS 7.1更新后,对象正在碰撞2管的差距.之前有人说,可能是因为'yScale',但我找不到解决方案.

一些代码;

  Pipe *pipe = [[Pipe alloc] initWithImageNamed:pipeImageName];
  [pipe setCenterRect:CGRectMake(26.0/kPipeWidth, 26.0/kPipeWidth, 4.0/kPipeWidth, 4.0/kPipeWidth)];
  [pipe setYScale:height/pipe.size.height];
  [pipe setPosition:CGPointMake(320+(pipe.size.width/2), abs(pipeYOffset + (pipe.size.height/2)))];

  pipe.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:pipe.size];
  [pipe.physicsBody setAffectedByGravity:NO];
  [pipe.physicsBody setDynamic:NO];
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.谢谢!

小智 6

  Pipe *pipe = [[Pipe alloc] initWithImageNamed:pipeImageName];
  [pipe setCenterRect:CGRectMake(26.0/kPipeWidth, 26.0/kPipeWidth, 4.0/kPipeWidth, 4.0/kPipeWidth)];

//set the physicsBody before X/Yscale
  pipe.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:pipe.size];

  [pipe setYScale:height/pipe.size.height];
  [pipe setPosition:CGPointMake(320+(pipe.size.width/2), abs(pipeYOffset + (pipe.size.height/2)))];

  [pipe.physicsBody setAffectedByGravity:NO];
  [pipe.physicsBody setDynamic:NO];
Run Code Online (Sandbox Code Playgroud)

这可能对你有所帮助.我认为这是ios7.1中的一个错误.