更新变量中的随机数?

时间:2013-09-26 16:29:43

标签: javascript three.js

如何更新具有随机数的变量。我正在使用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 :(得分:1)

如果您希望每次调用都有不同的值,请在函数内部声明变量,而不是在函数内部。正如你现在所拥有的那样,变量被设置一次,并且函数(无论多少次被调用)都将引用那些曾经设置的值。