2015-11-06 4 views
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); 
}) 

Это работает для меня, он добавляет один круг. Но когда я нажимаю снова, ничего не происходит.Matter.js Как сохранить добавление тел на холст

Im догадывается, что я не создавал новый объект.

Моя цель состоит в том, чтобы иметь возможность нажимать кнопку (.add), и каждый раз, когда я нажимаю ее, она добавляет новый круг в мир.

Спасибо, продвинутый!

+0

@Grimbode, это сработало! Почему вы удалили ответ? –

+0

Это было скорее угадать, если честно. Я верну его. – rottenoats

ответ

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

Работал, хороший один мат. –

Смежные вопросы