- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我构建了一个简单的 PIXI.js 应用程序来实现 PIXI.RenderTexture,但它不起作用。
它应该渲染两个方形 Sprite ,黑色和白色。黑色的添加了常规的stage.addChild
:
const sprite1 = new PIXI.Sprite(PIXI.Texture.from('bc-sq-200.png'));
sprite1.x = 500;
app.stage.addChild(sprite1);
白色的应该用renderTexture
渲染:
const sprite2 = new PIXI.Sprite(PIXI.Texture.from('wt-sq-200.png'));
// app.stage.addChild(sprite2);
const renderer = PIXI.autoDetectRenderer();
const renderTexture = PIXI.RenderTexture.create({ width: 700, height: 700 });
renderer.render(sprite2, { renderTexture });
const mainSprite = PIXI.Sprite.from(renderTexture);
app.stage.addChild(mainSprite);
但是,只能看到黑色方 block 。
可能是什么问题?出了什么问题?
Github 存储库的最小示例:https://github.com/poludnev/test-pixi-render-texture
最佳答案
修复它。我认为这是自动检测渲染器选项的问题,您可以简单地使用应用程序中的渲染器,这应该可以工作:
let app = new PIXI.Application({
width: 500,
height: 256,
antialiasing: true,
transparent: false,
resolution: 1
});
document.body.appendChild(app.view);
//To change the background color
app.renderer.backgroundColor = "0xff0000";
const sprite1 = new PIXI.Sprite(PIXI.Texture.from("public/bc-sq-200.png"));
app.stage.addChild(sprite1);
const sprite2 = new PIXI.Sprite(PIXI.Texture.from("public/wt-sq-200.png"));
sprite2.position.x = 0;
sprite2.position.y = 0;
sprite2.anchor.x = 0;
sprite2.anchor.y = 0;
setTimeout(() => {
const renderTexture = PIXI.RenderTexture.create({ width: 200, height: 200 });
console.log(renderer);
app.renderer.render(sprite2, {
renderTexture
});
const mainSprite = new PIXI.Sprite(renderTexture);
mainSprite.x = 200;
mainSprite.y = 0;
mainSprite.width = 200;
mainSprite.height = 200;
app.stage.addChild(mainSprite);
console.log(mainSprite);
}, 2000);
这是一个demo
我更改了一些其他内容以尽量减少潜在问题:
setTimeout 表示 png 有足够的时间加载。您应该确保预加载 Assets ,setTimeout 只是因为它很简单。
mainSprite
的宽度和高度很重要
添加了红色背景,以便您更容易看到这两个框。
我真的认为这将是一个 10 秒的修复,但这个合法的花了我一两个小时。绝对需要更好的文档来使 autoDetectRenderer 和 RenderTexture 之间的关系更加清晰,因为 OP 的原始代码几乎直接来自文档。
关于javascript - PIXI.RenderTexture 无渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73306347/
我对这里出了什么问题感到困惑,但我确信问题出在我的渲染纹理/视频播放器上——我可能有 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
我是一名优秀的程序员,十分优秀!