iPhone 5 で SpriteKit ゲームを作成しています。画面の端を表すはずの physicalBody が小さすぎるように見えるという奇妙なバグがあり、奇妙なスケーリング係数が必要なようです。
これは、physicsBody を画面の寸法に設定する正しい方法と思われるものです。
CGRect screenRect = [[UIScreen mainScreen] bounds];
SKPhysicsBody *sBody = [SKPhysicsBody bodyWithEdgeLoopFromRect: screenRect];
[self setPhysicsBody: sBody];
しかし、私にとって、これは私の他の物理体を画面の中央にある目に見えないオブジェクトと衝突させ、干渉することなく画面の端からすぐに移動させます.
ただし、これは次のとおりです。
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGRect x2Rect = CGRectMake(0, 0, screenRect.size.width * 1.5, screenRect.size.height * 1.5);
SKPhysicsBody *sBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:x2Rect];
[self setPhysicsBody: sBody];
その結果、画面の中央に奇妙なオブジェクトが完全になくなり、予想どおり、他の物理体が画面の側面に衝突します。
え、なに?