Var工作但在使用数组执行相同操作时停止

时间:2015-03-31 12:05:50

标签: javascript

我正在练习一些Javascript。我使用var来创建一个对象(因为在此之前我创建了一个类),现在我正在尝试做同样的事情,但是我没有使用变量来使用数组。 虽然这有效:

    function start (){
        var brick  = new create_class_brick(10, 400, 10, 400, 0, 2.5, "brick");
        window.setInterval(function(){brick.MOVE_BRICK();}, 25);

MOVE_BRICK函数在这里不起作用:

    function start (){
        var i = 0;
        vector_bricks[i++] = new create_class_brick(300, 500, 800, 600, 0, 2.5, "brick");
        vector_bricks[i++] = new create_class_brick(200, 200, 600, 300, 0, 2.5, "brick");
        for ( i = 0; i<vector_bricks.length; i++ ){
            vector_bricks[i].create_brick();
            vector_bricks[i].MOVE_BRICK();
        }
    }

任何人都可以帮我一把吗?

2 个答案:

答案 0 :(得分:0)

你忘了用window.setInterval调用函数move_brick吗?所以它没有循环。

答案 1 :(得分:0)

只需更改间隔的位置即可。 如果将它放在for循环中,则会出现错误。

意思是你应该这样:

  function start (){
    var i = 0;
    vector_bricks[i++] = new create_class_brick(300, 500, 800, 600, 0, 2.5, "brick");
    vector_bricks[i++] = new create_class_brick(200, 200, 600, 300, 0, 2.5, "brick");
    setInterval(function(){
      for (var i = 0; i<vector_bricks.length; i++ ){
          vector_bricks[i].create_brick(); // Not sure what this is for
          vector_bricks[i].MOVE_BRICK();
      }
    }, 25);
  }