장면은 다음과 같습니다. 플레이어 한 명과 상자 한 명, 상자에 플레이어가 있습니다. 화면에서 오른쪽으로 스 와이프하면 플레이어가 오른쪽으로 움직입니다. 그가 상자의 오른쪽 가장자리에 도달하면 상자를 오른쪽으로 밀 것이다. 다른 SKPhysicsBody 개체에서 SKPhysicsBody 개체를 구현하려면 어떻게해야합니까?
그래서 저는 두 SKNodeCGRect box = CGRectMake(110, 270, 100, 100);
SKShapeNode *shapeNode = [[SKShapeNode alloc] init];
shapeNode.path = [UIBezierPath bezierPathWithRect:box].CGPath;
shapeNode.physicsBody = [SKPhysicsBody bodyWithPolygonFromPath:shapeNode.path];
shapeNode.physicsBody.dynamic = NO;
shapeNode.physicsBody.categoryBitMask = kbox;
shapeNode.physicsBody.collisionBitMask = 1;
shapeNode.physicsBody.contactTestBitMask = kplayer;
[self addChild:shapeNode];
SKSpriteNode *player = [SKSpriteNode spriteNodeWithColor:[UIColor whiteColor] size:CGSizeMake(10, 30)];
player.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:player.size];
player.physicsBody.categoryBitMask = kplayer;
player.physicsBody.collisionBitMask = 1;
player.physicsBody.contactTestBitMask = kbox;
player.position = CGPointMake(self.size.width/2, self.size.height/2);
[self addChild:player];
위의 초기 코드가 작동하지 않았다가의 shapeNode 플레이어와 충돌 할 수없는 디자인. 어떻게 다른 SKPhysicsBody 개체에서 SKPhysicsBody 개체를 구현할 수 있습니까? 내 생각을 어떻게 구현할 수 있습니까? 고마워요!
'shapeNode.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect : box];' – ZeMoon
@akashg 사용해보기 시도했지만 작동하지 않습니다. – jseanj