box2d碰撞组是不足以从自己的球员子弹

问题描述:

所以我知道碰撞组和过滤器等,但我需要在服务器上的方式来检查子弹是否来自同一个球员。如果这只是在客户端上,那很容易,因为我可以为玩家自己的子弹创建一个碰撞组,而为敌人子弹创建一个碰撞组,但由于服务器是检测碰撞的那个,所以没有“客户端”玩家,每个玩家和子弹都是处理相同,除了附加到子弹的用户数据有一个uid。box2d碰撞组是不足以从自己的球员子弹

所以基本上我想是这样的 -

if(collisionA.m_userData.type == "projectile"){ 
      if(collisionA.m_userData.uid === collisionB.m_userData.uid){ 
       dontApplyCollisionOrPhysics() 
      } 
     } 
+0

还没有找到解决方案 – joe

你可以通过添加一个业主

function bullet(owner){ 
    //Your Bullet properties 
    this.owner = owner; 
} 
提高你的子弹物体

您只需创建,当你要使用它的对象子弹所以在那一刻你添加了所有者。在这种情况下,uid。

+0

我明白了,但是如何使用该变量来阻止它回击我的玩家?子弹在玩家中间产生 – joe