如果判断有三个块相连,return true就是给该函数返回一个true ,如果上面调用这个函数,就执行相应程序,直到返回false。
第一次执行上面所说的相应程序时,把块存到数组里面,同时添加到屏幕上,设置setAnchorPoint等,对于判断三个相连的,如果有,就再遍历一遍,但不添加到屏幕上,只是放到相应数组里面。
do{ this.setShred() }while(this._checkIscanRemove()); for(var i=0;i<SHRED_X;i++){ for(var j=0;j<SHRED_Y;j++) { var shared=this.arr[i][j]; shared.setAnchorPoint(0,0) shared.setPosition(shared.width*i+200,shared.height*j) this.addChild(shared,2); } } }, setShred:function(){ this.arr=create2X2Arr(SHRED_X,SHRED_Y,0); for(var i=0;i<SHRED_X;i++){ for(var j=0;j<SHRED_Y;j++){ var shred=new ShredSprite() this.arr[i][j]=shred shred.posX=i; shred.posY=j; } } }, _checkIscanRemove:function(){ for(var i=0;i<SHRED_X;i++){ for(var j=0;j<SHRED_Y;j++){ if((j+2) < SHRED_Y) { if (this.arr[i][j].shredType == this.arr[i][j + 1].shredType && this.arr[i][j].shredType == this.arr[i][j + 2].shredType) { return true } } if((i+2)<SHRED_X) { if (this.arr[i][j].shredType == this.arr[i + 1][j].shredType && this.arr[i][j].shredType == this.arr[i + 2][j].shredType) { return true } } } } return false },