0
我很痛苦,試圖繞過我的頭。我創建了另一個類名爲ContactEnemyCategory的對象,我希望它永遠不會碰撞任何東西,所以我將collisionBitMask設置爲0,但我的玩家角色能夠移動它而不是僅僅通過它。這似乎只是一個小問題,但在所有的誠實方面它只是一種明顯的壓力。任何建議都會很棒。與collisionBitMask發生故障
我的對象
contactLines = [SKSpriteNode spriteNodeWithImageNamed:@"contact-Lines"];
contactLines.hidden = NO;
contactLines.physicsBody.dynamic = YES;
contactLines.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:contactLines.size];
contactLines.position = CGPointMake(variaPlatform.position.x, variaPlatform.position.y + 30);
contactLines.physicsBody.categoryBitMask = fContactEnemyCategory;
contactLines.physicsBody.contactTestBitMask = fEnemyCategory;
contactLines.physicsBody.collisionBitMask = 0;
[self addChild:contactLines];
我的球員
_Hero = [SKSpriteNode spriteNodeWithTexture:i1];
_Hero.name = @"Hero";
_Hero.zPosition = 2;
_Hero.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:_Hero.size];
_Hero.physicsBody.categoryBitMask = fPlayerCategory | fEnemyCategory;
_Hero.physicsBody.contactTestBitMask = fPlatformCategory | fEnemyCategory | fScoreCategory | fMainPlatformCategory |fPitOfCertainDoomCategory;
_Hero.physicsBody.collisionBitMask = fEnemyCategory | fPlatformCategory | fMainPlatformCategory;
_Hero.physicsBody.usesPreciseCollisionDetection = YES;
_Hero.physicsBody.affectedByGravity = YES;
_Hero.physicsBody.dynamic = YES;
_Hero.physicsBody.friction = 0.3;
_Hero.physicsBody.linearDamping = 0.7;
_Hero.physicsBody.allowsRotation = false;
_Hero.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame));
_Hero.position = CGPointMake(_Hero.position.x - 253, _Hero.position.y + 50);
[self addChild:_Hero];
各自的類別
static const uint32_t fPlayerCategory = 0x1 << 0;
static const uint32_t fContactEnemyCategory = 0x1 << 6;
您的玩家與敵人的接觸面具屬於同一類別(fEnemyCategory) – LearnCocos2D 2014-09-01 21:32:14
@ LearnCocos2D我覺得真的很愚蠢 - 但是不管怎樣,這一天都會因爲你而得救! – Blank 2014-09-01 22:21:25