PhysicsJs - 如何消除世界行为,“加速后不断加速”

时间:2014-12-05 19:12:54

标签: javascript physicsjs

我在初始化时的行为添加如下:

world.add([
    Physics.behavior('interactive', { el: renderer.el }),
     Physics.behavior('constant-acceleration'),
    Physics.behavior('body-impulse-response'),
    Physics.behavior('sweep-prune'),
    edgeBounce
]);

我希望在以后删除"恒定加速度"行为。我读了几篇说使用remove()方法的帖子,但是我没有得到任何使用它的事情,如下所示:

world.remove( Physics.behavior('constant-acceleration') );

任何人都可以建议我如何在添加后从世界中删除特定行为?

1 个答案:

答案 0 :(得分:0)

Physics.behavior文档表示当您调用Behavior时会返回Physics.behavior对象(因为它构造了一个新对象)。因此,您需要保留一个对Behavior对象的引用,该对象是您从已放入world.add数组的调用中返回的,然后将该引用传递给world.remove后来。就像现在一样,你正在制作一个新的Behavior(与你先制作的那个分开)并立即将这个全新的对象传递给world.remove,这基本上什么都不做。