2013-09-26 62 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