Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 精灵套件-iOS 7.1更新后由于缩放而导致对象碰撞_Objective C_Xcode_Scale_Sprite Kit_Ios7.1 - Fatal编程技术网

Objective c 精灵套件-iOS 7.1更新后由于缩放而导致对象碰撞

Objective c 精灵套件-iOS 7.1更新后由于缩放而导致对象碰撞,objective-c,xcode,scale,sprite-kit,ios7.1,Objective C,Xcode,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 setYSca

并没有问题,但在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];
任何帮助都将不胜感激。谢谢大家!

  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];
这可能对你有帮助。
我认为这是ios7.1中的一个bug。

我也有同样的问题,我的游戏今晚发布了,现在无法播放!那太糟糕了。 在我看来,iOS 7.0的旧行为是有缺陷的,因为PhysicsBodys不能与sprite进行缩放

自iOS7.1以来,物理体显然根据精灵的比例调整其大小
我还不能100%确定这是否是真的,但我会很快发现的。只需下载Xcode更新,我会在完成一些测试后通知您。

仅供参考,身体的形状不受xScale/yScale的影响。如果这就是问题所在。@learncoas2d谢谢你,那么我该怎么解决呢?还有为什么在iOS 7.1更新后会发生这种情况?谢谢,@Ender的回答解决了我们的问题。只需将physicsBody设置在X/Yscale之前。很高兴您已经解决了它。经过一些测试后,我可以确认物理实体现在可以和精灵一起缩放。