我把需要得node都放到了一个array中,调试里array中得node都是被识别的
但是一旦到getComponent时却被报错没有defined
字面解释,cardarray[i]是undefined,没有赋值
话说,你getComponent那一行在执行的时候,用到的变量i的值还是你想象中的那个值么
建议F12运行一下这行代码
for(var i = 0; i < 10; i++){setTimeout(()=>{console.log(i)}, 1000)}
以及
for(let i = 0; i < 10; i++){setTimeout(()=>{console.log(i)}, 1000)}
同时百度
楼上说的都对,循环中的i等你用时,可能已经到最大值了,因为for循环是不会等待你异步操作的
看来好像bundle加载时候,和for是不同步的
问题解决了,楼上说的关键消息很对,就是for为同步,loadBundle是异步的(也就是过一段时间执行,这个时候loop其实早就走完了),所以执行的时候,上述函数里的i早就已经不存在了,这也是为什么node.getComponent没有被defined
解决方法是把loop方法改成用schedule函数,每隔0.01秒执行
话说,我第一个提示你的,你不打算给一颗免费的小红星么 
1赞
该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。


