如何为屏幕创建边框,除了底部之外,它将创建边框。
我正在尝试bodyWithEdgeLoopFromRect
,但它会创建一个包围底部的边框。 (这是我不想接受的唯一部分)
SKPhysicsBody *borders = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame];
self.physicsBody = borders;
self.physicsBody.friction = 0.f;
我也试过bodyWithEdgeFromPoint: toPoint
,但仍然无法弄明白。
我也试过bodyWithPolygonFromPath
,但我的表现并不太好。有什么建议吗?除了将3个节点放置在每个边界上之外?顶部,左侧,右侧......
答案 0 :(得分:4)
您可以通过调整用于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点处,因此您的物理机构将落在地板上,如果这就是您所追求的。根据需要进行调整(例如,添加删除节点位于底边下方的方法)。