2dx的定时任务

请教

this->scheduleOnce([&](float dt){
        sprite->setTexture(Sprite::create("Logo/logo.png")->getTexture());
    }, 1.0f,"showLogo");

sprite是前面创建的局部变量
为什么局部变量在这定时任务里面不能用(换成字段是可以的)?

sprite指针用拷贝啊,引用失效了吧,基础c++啊

this->scheduleOnce([sprite](float dt){
sprite->setTexture(Sprite::create(“Logo/logo.png”)->getTexture());
}, 1.0f,“showLogo”);

我是一个纯新手,你这个问题我刚好遇到过,关于lambda匿名函数的参数捕获,cocos官方实例是用的&,但不代表是我们所需求的。据网上一位大佬提及过,其实我们平时用到的更多是=,按值传递方式,能更贴近需求。特别是局部变量,如果用引用方式传递,一旦离开作用域,指针就null了,根本没法实现及时匿名的要求。
所以,我作为新手,建议还谈不上,是想让楼主去尝试多使用=还捕获参数,在总结一些心得。