1

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

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') );

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

4

1 回答 1

0

Physics.behavior文档表明在您调用时会返回一个对象BehaviorPhysics.behavior因为它构造了一个新对象)。因此,您需要保留对Behavior从您放入world.add数组的调用中返回的对象的引用,然后将该引用传递给world.remove稍后。就像现在一样,您正在制作一个新的Behavior(与您第一次制作的分开)并立即将该全新的对象传递给world.remove,这基本上不会做任何事情。

于 2014-12-05T20:24:30.380 回答