【发布时间】:2015-01-01 23:57:09
【问题描述】:
我有一个英雄/玩家,我希望他能够通过物体/障碍物,当我这样做时,删除障碍物。很好用,有点。
我将此代码用于我的障碍
SKSpriteNode *Obstacle = [SKSpriteNode spriteNodeWithColor:[UIColor blackColor] size:CGSizeMake(40, 40)];
Obstacle.name = @"speedBoost";
Obstacle.position = CGPointMake(self.ObstacleX + 100,0);
Obstacle.physicsBody = [SKPhysicsBody Obstacle.size];
Obstacle.physicsBody.contactTestBitMask = ObstacleCategory;
Obstacle.physicsBody.collisionBitMask = 0;
Obstacle.physicsBody.dynamic = NO;
[self.world Obstacle];
所以当我的英雄从侧面穿过物体时,障碍物被删除并且工作正常 但是当我的英雄从障碍物上方或下方穿过障碍物时,英雄会在障碍物被删除之前停止
我该如何解决这个问题?
提前致谢
碰撞
if ([firstBody.node.name isEqualToString:@"hero"] && [secondBody.node.name isEqualToString:@"obstacle"]) {
[self obstacle];
}
【问题讨论】:
-
你的英雄的碰撞位掩码是什么
-
您如何检测联系人?障碍物的物理体不是动态的...
标签: objective-c sprite-kit collision-detection skspritenode