javascript - Three.js, how to access items inside scene? Should I use document.getElementById()? -
for ( var = 0; < 100; ++ ) { var particle = new three.particle( new three.particlecanvasmaterial( { color: 0x666666, program: programstroke } ) ); particle.position.x = math.random() * 800 - 400; particle.position.y = math.random() * 800 - 400; particle.position.z = math.random() * 800 - 400; particle.scale.x = particle.scale.y = math.random() * 10 + 10; scene.add(particle); scene.children[i].id = "q"+i; // select item using document.getelementbyid(); } projector = new three.projector(); renderer = new three.canvasrenderer(); renderer.setsize( window.innerwidth, window.innerheight ); container.appendchild( renderer.domelement ); if(showstats == true){ stats = new stats(); stats.domelement.style.position = 'absolute'; stats.domelement.style.top = '0px'; container.appendchild( stats.domelement ); } document.addeventlistener( 'mousemove', ondocumentmousemove, false ); window.addeventlistener( 'resize', onwindowresize, false ); console.log("1 -- "+scene); console.log("2 -- "+scene.children); console.log("3 -- "+document.getelementbyid('q1');
i tried access particles inside scene, pre-defined ids before adding them scene. when printed out scene.children, see ids 'q0', 'q1', 'q2'.... however, document.getelementbyid() not allow me access items.. in case, how should it?
instead of doing:
scene.children[i].id = "q"+i;
do:
particle.name = "q"+i;
and then
scene.traverse (function (object) { if (object instanceof three.particle) { if (object.name === 'q10') // want it. } });
Comments
Post a Comment