【发布时间】:2014-06-27 03:02:17
【问题描述】:
我的 spritekit 游戏中有两个物理体发生碰撞,我很难让它们停下来。
我将在下面发布它们的物理代码。 问题是当蜂群碰到我的硬币时它会推动它,不完全确定为什么,因为据我所知,我的敌人被告知只能与玩家接触,而我的硬币被告知只能与墙和玩家接触(如果我错了)
(P.S 我注释掉了硬币的碰撞位掩码,因为当我的硬币没有从墙上掉下来时)
谢谢
第一个精灵
enemy = [SKSpriteNode spriteNodeWithImageNamed:@"Swarm"];
enemy.physicsBody =
[SKPhysicsBody bodyWithRectangleOfSize:enemy.size];
enemy.physicsBody.dynamic=NO;
enemy.name=@"Eagle";
enemy.physicsBody.categoryBitMask = PCFallersCategory;
// enemy.physicsBody.collisionBitMask =
// PCPlayerCategory;
enemy.physicsBody.contactTestBitMask = PCPlayerCategory;
enemy.physicsBody.restitution=0;
enemy.physicsBody.friction=0;
第二个精灵。
self.name = @"coin";
CGFloat minDiam = MIN(self.size.width, self.size.height);
minDiam = MAX(minDiam-8, 8);
self.physicsBody =
[SKPhysicsBody bodyWithCircleOfRadius:minDiam/2.0];
self.physicsBody.dynamic=YES;
self.physicsBody.restitution =0;
self.physicsBody.friction = 0;
self.physicsBody.linearDamping = 0;
self.physicsBody.categoryBitMask = PCCollectableCategotry;
//self.physicsBody.collisionBitMask =PCPlayerCategory;
self.physicsBody.contactTestBitMask = PCPlayerCategory|PCWallCategory;
【问题讨论】:
标签: sprite-kit