gpt4 book ai didi

actionscript-3 - 用于 Nape 中船舶和子弹的 sensorGroup 和 sensorMask 组合

转载 作者:行者123 更新时间:2023-12-04 23:24:20 25 4
gpt4 key购买 nike

我有多个宇宙飞船(SHIP_CB CbType),它们都可以发射导弹(BULLET_CB CbType)。我如何在那里设置 sensorGroup , sensorMaskInteractionListeners所以我得到以下行为:

  • 船只都相互碰撞并反弹。
  • 子弹根本不会相互 react 或感知。
  • 子弹感知敌舰。
  • 子弹不要与射出子弹的船感同身受。

  • 甚至可以通过在每个对象上设置正确的 sensorGroup 和 sensorMask 来获得所有这些行为吗?

    最佳答案

    假设子弹只能感知,因此不应与射击它们的船以任何方式交互,一种方法是:

    从一切默认开始,

    每艘船

    ship.group = new InteractionGroup(true);

    对于为给定的船“船”创建的每个子弹

    设置子弹与发射它的船具有相同的交互组。
    这样,由于在组上 ignore=true,从给定的任何子弹发射
    该船将被排除在与该船的互动之外。

    子弹.组 = 船.组;

    对于每种形状的子弹,可能只有 1 个。
    制作子弹形状传感器

    bulletShape.sensorEnabled = true;

    使子弹形状对除自身之外的所有事物都有意义。

    bulletShape.sensorGroup = 2;
    bulletShape.sensorMask = ~2;

    引用:Nape Manual: InteractionGroups

    您“可以”纯粹使用 sensorGroup/sensorMask 来做到这一点。但是你会被限制在 31 艘不同的船上,而且逻辑会更复杂一些。

    你也可以使用回调系统来忽略飞船和它发射的子弹之间的交互,并在回调中使用一些额外的逻辑,但它比使用 InteractionGroup 的东西要重得多。

    关于actionscript-3 - 用于 Nape 中船舶和子弹的 sensorGroup 和 sensorMask 组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15761463/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com