Matter.js如何继续将Bodies添加到画布

时间:2015-11-06 11:32:10

标签: javascript canvas 2d matterjs

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)并且每次按下它都会为世界添加一个新的圆圈。

1 个答案:

答案 0 :(得分:2)

似乎"球"是一个从Bodies创建的实例。你应该为你想要添加到世界的每个球创建一个实例。

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());
})