我如何定位“ for”循环的子对象,以便在循环外部创建网格

时间:2019-05-13 09:16:40

标签: javascript json three.js

我正在尝试定位一个循环在另一个循环中创建的每个网格。

我在另一个循环中有一个循环,第一个循环径向创建这些球,在另一个循环中,每当球的圆变大时,通过增加球的数量来重复这些行。 即使循环再次开始,我也尝试将变量增加为具有连续数(1,2,3,4,5…),因为这样做的目的是将php数组的每个声音添加到创建的每个网格中,但是我不知道我是否需要在循环内执行操作,或者如何在循环外执行操作?

  var mathpi = Math.PI/180;
  var startRadians = startAngle + mathpi;
  var arraysamples = <?php echo json_encode($samples);?>;
  var rangee = Math.round((Object.keys(arraysamples).length) / 5);
  var incrementAngle = 360/totalson;
  var incrementRadians = incrementAngle * mathpi;
  var totalson = 5;
  var yp = 30;


      for ( var n = 0; n < rangee; n ++) {
        for ( var i = 0; i < totalson; i ++ ) {

            var object = new THREE.Mesh( sphere, new THREE.MeshLambertMaterial( { color: Math.random() * 0xffffff } ) );

            var xp = centerX + Math.sin(startRadians) * radius;
            var zp = centerZ + Math.cos(startRadians) * radius;
            object.position.z = xp;
            object.position.x = zp;
            object.position.y = yp;

            nomsample ++;
            scene.add( object );
            startRadians += incrementRadians;
        }

        totalson = totalson + 3;
        var nomsample = totalson + 2;
        radius = radius + 100;
        startAngle = startAngle + 150;
        var startRadians = startAngle + mathpi;
        var incrementAngle = 360/totalson;
        var incrementRadians = incrementAngle * mathpi;

        if (yp > 59) {
            yp = yp - 30;
        } else {
            yp = yp + 30;
        }
      }

的想法是:

for ( var i = 0; i < arraysamples.length ; i ++ ) {

          var sound[i] = new THREE.PositionalAudio(listener);
                  audioLoader.load('sounds/'arraysamples[1]'', function (buffer) {

                    sound[i].setBuffer(buffer);
                    sound[i].setRefDistance(20);
                    sound[i].play();
                    sound[i].setLoop(true);
                    sound[i].setVolume(1);
                });
           object.add(sound[i]);
      }

我只希望将数组中分配的每个声音添加到一个网格中,而没有多个网格具有相同的声音。我真的希望我清楚。 感谢您抽出时间阅读我的问题,如果问题看起来很简单,我向您致歉。 祝你有美好的一天!

0 个答案:

没有答案