2013-09-26 36 views
0

如何更新随机数的变量。我正在使用three.js。这是我的代码。它首次生成一个精灵到一个随机位置,但它只是继续返回到相同的位置。我认为通过在使用变量之前调用变量,我会更新它们,但它不起作用。更新变量中的随机数?

 var locX = Math.floor((Math.random()*450)+1); 
     locX *= Math.floor(Math.random()*2) == 1 ? 1 : -1; 
     var locY = Math.floor((Math.random()*250)+1); 
     locY *= Math.floor(Math.random()*2) == 1 ? 1 : -1; 
     var locZ = Math.floor((Math.random()*350)+1); 
     locZ *= Math.floor(Math.random()*2) == 1 ? 1 : -1;   

     function spriteAI1() { 
     //console.log(c2Sprite.position.x); 
     //console.log(ranLocX); 
     //console.log(ranTen); 
      if (c2Sprite.position.x > 30 && c2Sprite.position.x <= 450) { 
      c2Sprite.translateX(-10); 
      } else if (c2Sprite.position.x < -31 && c2Sprite.position.x >= -450) { 
      c2Sprite.translateX(10); 
      } else if (c2Sprite.position.z < 31 && c2Sprite.position.x < 31 && c2Sprite.position.z > -29 && c2Sprite.position.x > -29) { 
      locX; 
      locY; 
      locZ; 
      //c2Sprite.delete; 
      //scene.remove(c2Sprite); 
      //console.log("AI1"); 
      c2Sprite.position.set(locX, locY, locZ); 
      //scene.add(c2Sprite); 
      //c2Sprite.clone; 
      } 
     } 

回答

1

如果你想要每个调用不同的值,在函数内部声明变量,而不是在它之外。就像你现在所做的那样,变量被设置一次,而函数,无论多次调用,都会引用那些一次设置的值。

+0

谢谢我不知道。 – Kahless