js while循环不清楚哪错了,运行只有一个飞机。用for循环相同的代码就行

img

img


function Plane(x,y){
    var plane = new PIXI.Sprite.fromImage("res/enemy_04.png");
    plane.x = x;
    plane.y = y;
    plane.scale.x = 0.8;
    plane.scale.y = 0.8;
    bg.addChild(plane);
}
function add(){
   //代码编辑区域
   var a = 0;   //行 
   var b = 0;   //列  
   while(a<2){
       while(b<2){
           if(b == 0 || a == 1){
               Plane(b*88,a*80);
           } 
           b++;
       }
       a++;
   }

/*
for(var y = 0;y<2;y++){
    for(var x=0;x<2;x++){
        if(x == 0 || y == 1){
               Plane(x*88,y*80);
           } 
    }
}
*/

}
add();

逻辑不一样的。
for循环中外循环每执行一次,内循环中的y都会重新初始化为0。
将b初始化定义为while循环内

   var a = 0;   
   while(a<2){
        var b = 0;   
       while(b<2){
           if(b == 0 || a == 1){
               Plane(b*88,a*80);
           } 
           b++;
       }
       a++;
   }

var b = 0; 要放 while(a<2){ 里面, 让每次内循环开始时 b 都重新设置为 0
否则, 第一次内循环结束后b 为 2, 下一次内循环开始时b还是2就不再循环了

你题目的解答代码如下:

   var a = 0;   //行 
   while(a<2){
       var b = 0;   //列  
       while(b<2){
           if(b == 0 || a == 1){
               Plane(b*88,a*80);
           } 
           b++;
       }
       a++;
   }

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632