这段代码
for(var i=0;i<24;i++)
{
if(i==5||i==18){
cc.loader.loadRes("HoleofMouse",cc.Prefab,function(err,prefab){
let HoleofMouse=cc.instantiate(prefab);
chessboard.addChild(HoleofMouse);
console.log("老鼠洞");
// HoleofMouse.sprite_index=4;
});
}else if(i==23)
{
cc.loader.loadRes("DengYou",cc.Prefab,function(err,prefab){
let DengYou=cc.instantiate(prefab);
// DengYou.active=true;
chessboard.addChild(DengYou);
console.log("灯油");
// DengYou.sprite_index=5;
});
}else{
cc.loader.loadRes("NewButton",cc.Prefab,function(err,prefab){
let buttonprefab=cc.instantiate(prefab);
// buttonprefab.active=true;
chessboard.addChild(buttonprefab);
console.log("其他");
});
}
}
/*输出结果*/
其他 MapGenerator.js:54:19
其他 2 MapGenerator.js:54:19
其他 MapGenerator.js:54:19
其他 MapGenerator.js:54:19
其他 4 MapGenerator.js:54:19
其他 12 MapGenerator.js:54:19
老鼠洞 2 MapGenerator.js:35:19
灯油 MapGenerator.js:45:21
和
这段代码
for(var i=0;i<24;i++)
{
if(i==5||i==18){
console.log("老鼠洞");
cc.loader.loadRes("HoleofMouse",cc.Prefab,function(err,prefab){
let HoleofMouse=cc.instantiate(prefab);
chessboard.addChild(HoleofMouse);
// HoleofMouse.sprite_index=4;//关键一招,但没用啊,后面脚本加载的时候默认为0
});
}else if(i==23)//灯油
{
console.log("灯油");
cc.loader.loadRes("DengYou",cc.Prefab,function(err,prefab){
let DengYou=cc.instantiate(prefab);
// DengYou.active=true; //无需激活
chessboard.addChild(DengYou);
// DengYou.sprite_index=5;
});
}else{
console.log("其他");
cc.loader.loadRes("NewButton",cc.Prefab,function(err,prefab){
let buttonprefab=cc.instantiate(prefab);
// buttonprefab.active=true; //无需激活
chessboard.addChild(buttonprefab);
});
}
}
/*输出结果*/
其他 4 MapGenerator.js:44:18
其他 MapGenerator.js:44:18
老鼠洞 MapGenerator.js:26:18
其他 12 MapGenerator.js:44:18
老鼠洞 MapGenerator.js:26:18
其他 MapGenerator.js:44:18
其他 3 MapGenerator.js:44:18
灯油 MapGenerator.js:35:18
分别位于不同的onLoad函数里,他们只是改变了console.log在for里的位置,但是竟然导致console.log输出的次序不同
这是为什么?