Objective c 无碰撞检测
我试图创建一个下降的圆圈,然后停在屏幕底部,但圆圈却一直在下降。有什么想法吗 我已更新代码以显示更新的位掩码:Objective c 无碰撞检测,objective-c,sprite-kit,skphysicsbody,Objective C,Sprite Kit,Skphysicsbody,我试图创建一个下降的圆圈,然后停在屏幕底部,但圆圈却一直在下降。有什么想法吗 我已更新代码以显示更新的位掩码: -(void)didMoveToView:(SKView *)view { self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame]; self.physicsBody.categoryBitMask = EDGE_BIT_MASK; self.physicsBody.collisionBitMask
-(void)didMoveToView:(SKView *)view {
self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame];
self.physicsBody.categoryBitMask = EDGE_BIT_MASK;
self.physicsBody.collisionBitMask = BUBBLE_BIT_MASK | BALL_BIT_MASK;
self.physicsBody.dynamic = NO;
self.physicsBody.friction = 0.0;
self.physicsWorld.contactDelegate = self;
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch * touch = [touches anyObject];
CGPoint touchLocation = [touch locationInNode:self];
growingNode = [SKShapeNode node];
growingNode.path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(touchLocation.x, touchLocation.y, 100, 100)].CGPath;
growingNode.strokeColor = [UIColor whiteColor];
growingNode.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:growingNode.frame.size.width / 2];
growingNode.physicsBody.dynamic = true;
growingNode.physicsBody.restitution = 0.2;
growingNode.physicsBody.friction = 0.0;
growingNode.physicsBody.allowsRotation = NO;
growingNode.physicsBody.linearDamping = 0.0;
growingNode.physicsBody.collisionBitMask = EDGE_BIT_MASK | BALL_BIT_MASK;
growingNode.physicsBody.categoryBitMask = BUBBLE_BIT_MASK;
growingNode.physicsBody.contactTestBitMask = BALL_BIT_MASK;
growingNode.physicsBody.usesPreciseCollisionDetection = YES;
growingNode.physicsBody.affectedByGravity = YES;
growingNode.physicsBody.mass = growingNode.frame.size.width / self.frame.size.width;
[self addChild:growingNode];
}
需要相应地设置边和气泡节点的冲突位掩码值:
self.physicsBody.collisionBitMask = BUBBLE_BIT_MASK;
growingNode.physicsBody.collisionBitMask = BALL_BIT_MASK | EDGE_BIT_MASK;
我试过了。当我设置每个碰撞位掩码时,增长节点不再受重力影响。您能将代码发布到设置位掩码值的位置吗?我已经更新了上面的代码以显示更新的位掩码值。我的意思是,您为这些位掩码设置了什么值?我说的是枚举