4
var ball = Bodies.circle(400, 20, 23, {
    density: 0.0005,
    frictionAir: 0.06,
    restitution: 0.3,       
    friction: 0.01,
    render: {
        sprite: {
            texture: 'face2.png',
        }
    }
});

$('.add').on('click', function() {
    World.add(engine.world, ball);
})

这对我有用,它增加了一个圈子。但是当我再次点击时,什么也没有发生。

我猜我没有创建一个新对象。

我的目标是能够按下按钮( .add ),每次按下它,它都会为世界添加一个新的圆圈。

4

1 回答 1

2

看起来“球”是从身体创建的一个实例。您应该为要添加到世界中的每个球创建一个实例。

var ball = function () {

    return Bodies.circle(400, 20, 23, {
        density: 0.0005,
        frictionAir: 0.06,
        restitution: 0.3,
        friction: 0.01,
        render: {
            sprite: {
                texture: 'face2.png',
            }
        }
    });
}

$('.add').on('click', function () {
    World.add(engine.world, ball());
})
于 2015-11-06T11:40:21.807 回答