cocos2dx 3.2 正常情况没事 截屏时会出现绿色和白色的不正常显示部分。。。
有人吗!!!
3.2的截屏换这个captureScreen试试
用captureScreen重复截屏时好像每次得到的都是第一张截图啊
captureScreen 是实时截图的。
可以参考测试例。
captureScreen 用同一个图片保存路径 和名字 后面截的图会不会覆盖前面的截图??
utils::captureScreen(CC_CALLBACK_2(SelectScene::afterCapture,this),"screen.png");
void SelectScene::afterCapture(bool succeed,const std::string outputFlie)
{
Director::getInstance()->pushScene(Back::scene(outputFlie));
}
```
截图的确是实时的,但是很奇怪的是 使用截图的时候显示出来的永远是第一张
及时很明显的看到 文件夹中保存的图片变了,但是程序中却没变
在afteCature()中使用截图前加上
void SelectScene::afterCapture(bool succeed,const std::string outputFlie)
{
// 更新图片缓存 加上这行 清掉原有的缓存 否则 使用的时候 会直接使用 缓存力已有的而不是重新加载
TextureCache::sharedTextureCache()->removeUnusedTextures();
Director::getInstance()->pushScene(Back::scene(outputFlie));
}
```
TextureCache::sharedTextureCache()->removeUnusedTextures();
这个可不能随便乱用。所有已加载未使用的都会让你删除。可能导致你后续加载速度变慢。
Director::getInstance()->pushScene(Back::scene(outputFlie));
你这个做了什么?谁知道?
测试例的代码是
Director::getInstance()->getTextureCache()->removeTextureForKey(_filename);
这样比较保险。
已经修改了,谢谢版主