我如何为屏幕创建一个边框,它会在除底部以外的周围创建一个边框。
我正在尝试 bodyWithEdgeLoopFromRect
但它在四周创建了一个边框,包括底部。 (这是我唯一不想被镶边的部分)
SKPhysicsBody *borders = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame];
self.physicsBody = borders;
self.physicsBody.friction = 0.f;
我也试过 bodyWithEdgeFromPoint: toPoint
但还是想不通。
我也尝试了 bodyWithPolygonFromPath
但我不太顺利。有什么建议吗?除了制作将放置在每个边界上的 3 个节点之外?上、左、右……
最佳答案
您可以通过调整用于 bodyWithEdgeLoopFromRect
的矩形的大小来创建看似无底的边框边缘主体:
float bottomOffset = 400.0;
CGRect newFrame = CGRectMake(0, -bottomOffset, self.frame.size.width, self.frame.size.height+bottomOffset);
self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:newFrame];
现在矩形的底部在屏幕底部边缘以下 400 点,因此如果您想要的话,您的物理实体会从地板上掉下来。根据需要进行调整(例如,添加方法在节点低于底部边缘时移除节点)。
关于ios - SpriteKit 边框除底部外的所有边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21459945/