objective-c - Sprite Kit - iOS 7.1 更新后对象因缩放而发生碰撞

标签 objective-c xcode scale sprite-kit ios7.1

没有问题,但在 iOS 7.1 更新后,对象正在碰撞 2pipes 的间隙。之前有人说,可能是因为'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 中的错误。

关于objective-c - Sprite Kit - iOS 7.1 更新后对象因缩放而发生碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22336221/

相关文章:

objective-c - 手工 NSTextView 裁剪错误

ios - 是否有 Whatsapp 打开 URL 可以直接调用,例如在 IOS 中发送媒体和文本

ios - 我如何在主目标和 UITest 运行器目标之间共享数据?

arrays - Swift 列表获取和删除值

ios - 如何取消 objective-c 中的本地单个通知

objective-c - 我可以让 AFNetworking 自动将 NULL 解析为 nil 吗?

java - JFreeChart:时间轴缩小时如何缩放Y轴?

ffmpeg - 如何缩放和定位水印以缩放?

ios - 使用 AFNetworking 在 objective-c 中的模型对象内部获取远程数据

html - 子内容不随背景 CSS 缩放