我有两个盒子。一个生成在地面上,另一个掉落在上面。重力开启。我试图让碰撞事件监听器在地面上的底部盒子上触发。但是,没有记录任何内容。
var c = new Physijs.BoxMesh( new THREE.CubeGeometry( 5, 5, 5 ), new THREE.MeshBasicMaterial({ color: 0x888888 }) );
c.__dirtyPosition = true;
c.position.set(10, 0,-5);
c.addEventListener('collision', function(object){
console.log("hello world"); // NOT FIRING
});
scene.add(c);
var p = c.clone();
p.__dirtyPosition = true;
p.position.y = 50;
scene.add(p);
我无法弄清楚我做错了什么 - 可能是因为__dirtyPosition
?
编辑:我在没有的情况下对其进行了测试,clone()
并重新创建了第二个框,但这并没有什么不同。
编辑 2:值得一提的是,模拟运行良好,我只是无法让听众工作。