【问题标题】:box2d collision groups isn't sufficient for bullets from own playerbox2d 碰撞组对于自己玩家的子弹来说是不够的
【发布时间】:2017-02-15 02:51:12
【问题描述】:

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

所以基本上我想要这样的东西 -

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

【问题讨论】:

  • 还没有找到解决办法

标签: javascript box2d collision


【解决方案1】:

您可以通过添加属性所有者来改进您的项目符号对象

function bullet(owner){
    //Your Bullet properties
    this.owner = owner;
}

您仅在要使用它时创建对象项目符号,因此在那一刻您添加所有者。在这种情况下,uid。

【讨论】:

  • 我明白了,但是如何使用该变量来防止它击退我的播放器?子弹在玩家中间产生
猜你喜欢
  • 1970-01-01
  • 2013-04-07
  • 1970-01-01
  • 2016-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-30
  • 1970-01-01
相关资源
最近更新 更多