Swift Spritekit耗散重力场

时间:2014-11-15 14:17:12

标签: ios swift sprite-kit

我使用spritekit快速进行游戏。如果点击屏幕,它将创建一个径向重力场,并将所有其他物体拉入。我创建了重力场,如此

var fieldNode = SKFieldNode.radialGravityField();

fieldNode.falloff = 0.5;
fieldNode.strength = 1;
fieldNode.animationSpeed = 0.5;

它可以工作,但我的问题是我只想要一个精灵只有当它在距离径向引力中心一定距离内时才会受到影响,并且我将拥有超过1个精灵。我看到它的方式是有两种方法可以做到这一点,1。当精灵太远时,关闭该精灵的径向重力或2.使径向重力在一定半径后消散。场景的整体重力。

所以主要的问题是:

如何为精灵关闭1重力或使径向重力消散?

2 个答案:

答案 0 :(得分:2)

字段节点的region属性确定其影响区域。关联的SKRegion对象允许您按其半径定义圆形区域。

您还可以使用物理实体上的fieldBitMask和字段上的categoryBitMask来有选择地控制哪些字段影响哪些实体。

答案 1 :(得分:0)

尝试使用:

<(.*)([^<]*)>([^<]*)los gatos([^<]*)<\/\1>