如何在截取屏幕

时间:2016-05-23 11:14:18

标签: cocos2d-x screenshot

在我的项目中,我有一个gameCamera用于显示我的关卡中的内容和一个显示ui-elements的uiCamera。 我试图拍摄仅包含级别元素而不是ui的屏幕截图。

我的尝试是隐藏有效的uiCamera,但它也为用户暂时隐藏了ui,它看起来并不是很好。 这是代码:

// hide the camera
this->getUiCamera()->setVisible(false);

utils::captureScreen([](bool captureBool, std::string path) {
    // do something to make UI visible again, left this out because its not really relevant
}, "level_screenshot.png");

我还篡改了renderTexture,但这并不是很好,可能是因为我在关卡中使用的视差效果。

有什么办法可以在隐藏uiCamera时截取屏幕截图吗?是否可以通过使用renderTexture?

获取gameCamera本身的屏幕截图

我的cocos版本是3.9

1 个答案:

答案 0 :(得分:0)

您可以通过在阵列中添加所有节点(屏幕截图中不应出现),在拍摄屏幕之前禁用所有节点的可见性。拍摄屏幕截图后启用可见性。