【问题标题】:Sprite Kit: Physics Barrier iOS7Sprite Kit:物理屏障 iOS7
【发布时间】:2013-12-13 22:57:30
【问题描述】:
我有一个玩家坐在屏幕底部,由加速度计控制,我有一个从屋顶掉下来的坏人。我在屏幕周围设置了物理屏障
self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame];
让坏人撞到这个障碍物有什么办法可以让他们不与障碍物发生碰撞,或者只是在两侧设置障碍物而不是在屏幕的顶部和底部
【问题讨论】:
标签:
ios
ios7
xcode5
game-physics
sprite-kit
【解决方案1】:
不知道你是否解决了这个问题,但我遇到了同样的问题。来自顶部的坏人,但需要将它们从屏幕上放下,他们不断地撞到顶部障碍物。所以我所做的是扩展我的 SKPhysicsBody bodyWithEdgeLoopFromRect。我首先做了一个偏移来扩展我的矩形的顶部。
float topOffset = 547.0;
这是我制作的坏人在屏幕顶部上方的高度。然后我创建了我的新框架。
CGRect newFrame = CGRectMake(0, -topOffset, self.frame.size.width, self.frame.size.height + topOffset);
请注意,对于高度,我必须添加 topOffset 以免崩溃!然后我就应用了bodyWithEdgeLoopFromRect。
self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:newFrame];
这仍然会留下一个底部边界,但如果您愿意,您也可以扩展该边界。希望这对某人有所帮助,我花了一段时间才弄清楚!