好的,所以我有OBJ A墜落的物體。 OBJ B就像一枚硬幣......我想說明一下。在交叉這兩個對象時。 OBJ b影響下降的速度/軌跡OBJ一個..如何在Sprite工具包中相交時讓落下的物體不會受到其他物體的影響?
我使用這個:
- (void)didBeginContact:(SKPhysicsContact *)contact
我怎樣才能讓相交「OBJ B」用時「OBJ」不影響下降速度或「obj a」的軌跡?
這是 「一個OBJ」:
ship = [SKSpriteNode spriteNodeWithImageNamed:@"theShip"];
[email protected]"ship";
ship.anchorPoint=CGPointMake(0.5, 0.5);
ship.size=CGSizeMake(100, 50);
ship.position=CGPointMake(CGRectGetMidX(myWorld.frame), 0);
ship.physicsBody.dynamic = YES;
[SKPhysicsBody bodyWithCircleOfRadius:50];
ship.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:ship.frame.size.width * 0.5];
ship.physicsBody.allowsRotation=NO;
ship.physicsBody.categoryBitMask=shipCategory;
ship.physicsBody.contactTestBitMask = coinCategory | padCategory;
這就是 「OBJ B」:
Coin *node = [Coin node];
[node setPosition:position];
[node setName:@"node_coin"];
[node setCoinType:coinType];
SKSpriteNode *sprite;
if (coinType == COIN_NORMAL) {
sprite = [SKSpriteNode spriteNodeWithColor:[UIColor yellowColor] size:CGSizeMake(50, 50)];
} else if (coinType == COIN_DOUBLE){
sprite = [SKSpriteNode spriteNodeWithColor:[UIColor redColor] size:CGSizeMake(50, 50)];
}else if (coinType == COIN_TRIPLE){
sprite = [SKSpriteNode spriteNodeWithColor:[UIColor blueColor] size:CGSizeMake(50, 50)];
}
[node addChild:sprite];
node.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:sprite.size.width/2];
node.physicsBody.affectedByGravity=NO;
node.physicsBody.dynamic = NO;
node.physicsBody.categoryBitMask = coinCategory;
node.physicsBody.collisionBitMask = 0;
node.physicsBody.contactTestBitMask = 0;
我附加的圖像,使這個更加清晰..
你是怎麼設置'ObjA和ObjB物理機構的'collisionBitMask''至? – damirstuhec
@ Damir179我已更新我的問題。 –
戒指:),是的,這解決了我的小新手問題。非常感謝你。你能寫這個答案嗎?它可能會幫助別人。 –