シンプルなスプライト キット ゲームを作成していますが、スプライトの 1 つに PhysicsBody を追加すると、間違った位置にあるように見えます。設定したとおりに間違った位置にあり、間違った位置に表示されていることはわかってい
skView.showsPhysics = YES;
ます。
下隅の正方形は、最初の半円の物理体です。現在、テスト目的で正方形を使用しています。
私のアプリにはビュー フォローが含まれており、移動時にメイン スプライトをフォローします。これを実装するには、リンゴのドキュメントに従い、「myworld」ノードを作成し、そのノードから他のすべてのノードを作成しました。
myWorld = [SKNode node];
[self addChild:myWorld];
semicircle = [SKSpriteNode spriteNodeWithImageNamed:@"SEMICRICLE.png"];
semicircle.size = CGSizeMake(semicircle.frame.size.width/10, semicircle.frame.size.height/10);
semicircle.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:semicircle.frame.size];
semicircle.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/2);
semicircle.physicsBody.dynamic = YES;
semicircle.physicsBody.collisionBitMask = 0;
semicircle.name = @"semicircle";
[myWorld addChild:semicircle];
ノードを中心にするために、これらのメソッドを呼び出します
- (void)didSimulatePhysics
{
[self centerOnNode: [self childNodeWithName: @"//mainball"]];
}
- (void) centerOnNode: (SKNode *) node
{
CGPoint cameraPositionInScene = [node.scene convertPoint:node.position fromNode:node.parent];
node.parent.position = CGPointMake(node.parent.position.x - cameraPositionInScene.x, node.parent.position.y - cameraPositionInScene.y);
}
私の世界が SkPhysics 本体に影響を与えるかどうかはわかりません...