老师,stage.removeChildAt(i);索引应该是从0开始

huoqishi0022 HTML5 Canvas 应用 最后由 jike_0835515 于2015年06月10日回复

  • 2 回答
  • 1.5k 浏览

stage.removeChildAt(i);索引应该是从0开始

function tick(e){

    var t=stage.getNumChildren();

    for(var i=t-1;i>=0;i--){ //i应该大于等于0

        var s=stage.getChildAt(i);

        s.vY+=2;

        s.vX+=1;

        s.x+= s.vX;

        s.y+= s.vY;

        s.scaleX= s.scaleY= s.scaleX+ s.vS;

        s.alpha+= s.vA;

        if(s.alpha<=0|| s.y>canvas.height){

            stage.removeChildAt(i);//索引从0开始,i可以取到0

        }

    }

    stage.update();

}

  • jike_0835515 2015年06月10日 回答 #2楼
  • 如果从1开始屏幕上面会留下一个小点,也就是我们一上来定义的那个sprite实例

  • 0 评论