- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个问题。
我正在尝试制作一个场景的屏幕截图,然后制作一个 Sprite 并将这个 Sprite 传递给其他场景。我这样做:
RenderTexture* texture = RenderTexture::create((int)Director::getInstance()->getWinSize().width, (int)Director::getInstance()->getWinSize().height, Texture2D::PixelFormat::RGBA8888);
texture->begin();
Director::getInstance()->getRunningScene()->visit();
texture->end();
Sprite* bgSprite = Sprite::createWithTexture(texture->getSprite()->getTexture());
bgSprite->setRotationX(180);
/-------------------------------------
LoadScreen* loadLayer = LoadScreen::create(GameScene, this->_carModel, bgSprite/*, this*/);
/-------------------------------------
然后在下一个场景中我做:
bgSprite->setPosition(Point(Director::getInstance()->getVisibleSize().width / 2, Director::getInstance()->getVisibleSize().height / 2));
bgSprite->setOpacity(200);
this->addChild(bgSprite, 1, 1);
我调试这个。 Sprite 不为空。这个 Sprite 中的纹理有大小等。我尝试将纹理保存在文件中。结果是空的 .png 文件。
最佳答案
是引擎的问题,之前的版本都是用RGB保存的。
由于cocos2d-x 3.0的渲染是基于command queue的,所以我们应该始终将读写frame buffer的操作用command包裹起来。直接调用 newImage() 不能保证工作正常。但是“RenderTexture::saveToFile”应该可以正常工作,因为它在代码中包含了自定义命令。
我认为这个问题在cocos2d-x v3.3中已经解决了,请引用http://www.cocos2d-x.org/issues/5562获取更多信息。
您还可以查看与 cocos2d-x 捆绑在一起的“cpp-tests”,了解如何保存场景或 Sprite 的屏幕截图。
关于c++ - Cocos2d-x V3.2。使用 RenderTexture 创建 Sprite ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27520628/
我对这里出了什么问题感到困惑,但我确信问题出在我的渲染纹理/视频播放器上——我可能有 20 个 iPhone 游戏对象,我需要制作后播放的动画 .mov 文件屏幕。 为此,我按照教程将视频播放器与渲染
我正在尝试基于另一个 Sprite 创建一个黑白 Sprite。由于在创建和缓存 Sprite 像素数据后我无法访问它,因此我通过基于 Image 创建一个新的 Image 来解决它,然后更改图像数据
我构建了一个简单的 PIXI.js 应用程序来实现 PIXI.RenderTexture,但它不起作用。 它应该渲染两个方形 Sprite ,黑色和白色。黑色的添加了常规的stage.addChild
我正在尝试复制 sf::RenderTexture(上面有 sf::Image 和 sf::Text),到Opencv 垫对象。我们可以通过以下方式将 sf::Image 转换为 cv::Mat (O
我目前正在尝试在 SFML 中重新创建国际象棋。生成板通常按预期工作,但是当我调整窗口大小时,我得到奇怪的白色边框。 调整大小之前: 调整大小后: 看起来 View 与窗口没有正确对齐,所以我认为我的
我们在 Unity3D 上开发一个应用程序,它将从屏幕上获取图像并将其传输到 Texture2D。我们在普通(弱)设备上的性能有困难。 代码如下。我们截屏,然后读取像素 (ReadPixels) -
我有一个从相机渲染的纹理。我想从此纹理中获取一些单个像素值并制作新纹理(1×1 像素),然后我想将其应用于某些对象。 有没有一种方法可以定义一个纹理,其 colorBuffer 只是来自另一个 col
我需要将 RenderTexture 对象保存到 .png 文件,然后将其用作纹理来包裹 3D 对象。我的问题是现在我无法使用 EncodeToPNG() 保存 RenderTexture 对象,因为
问题的简短版本 我正在尝试访问 Unity 中 RenderTexture 的内容,我一直在使用 Graphics.Blit 使用自己的 Material 绘制它。 Graphics.Blit (nu
我有两个食人魔应用程序: 1) 子应用程序,渲染到窗口和纹理(使用相同的相机)。纹理被“导出”到共享内存(linux 中的 shm) 2) 主应用程序,其中一个平面显示 (1)“子应用程序”中发生的事
我编写了一个 EditorWindow,它将摄像机的 View 渲染到另一个编辑器窗口中。为了在窗口大小调整时立即适应,在tick时间重新分配相机的目标纹理(实际上只在必要时才这样做)以演示问题: p
我使用的是 Visual Studio 2017。调试时它指向第 11 行 texture.getTexture().copyToImage().saveToFile("C:/test.bmp");
如果 ClippingNode 被渲染到 RenderTexture 而不是作为子节点添加(或者在我的例子中添加到一个本身被渲染到 RenderTexture 的容器),效果就会被破坏: Sprite
我有一个问题。 我正在尝试制作一个场景的屏幕截图,然后制作一个 Sprite 并将这个 Sprite 传递给其他场景。我这样做: RenderTexture* texture = RenderText
快速说明 - 如果您的 Unity/Android 代码将在 Unity 端以 30+ FPS 播放h264 视频流,而不是完整视频,并且可以分享它,那会救我! 描述:我有 Unity Pro 4.3
我是一名优秀的程序员,十分优秀!