没有问题但是在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];
任何帮助将不胜感激。谢谢!
答案 0 :(得分: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];
这可能会对你有所帮助。 我认为这是ios7.1中的一个错误。
答案 1 :(得分:1)
我有同样的问题,我的游戏今晚发布,现在无法播放!那太累了。 在我看来,iOS 7.0的旧行为是错误的,因为PhysicsBodyies没有用精灵缩放。
由于iOS7.1, PhysicsBodies 显然使其大小适应精灵的比例。 如果事实如此,我还不是百分之百确定,但我很快就会发现。只需下载Xcode更新,我就会在完成一些测试后通知你。