Pixi.js: 设置背景颜色?

创建于 2015-05-11  ·  12评论  ·  资料来源: pixijs/pixi.js

你好,

v3 中是否有stage.setBackgroundColor的替代品?

最有用的评论

要查看效果,您需要像这样调用渲染器的render方法(我将颜色更改为红色以使其更明显):

var renderer = PIXI.autoDetectRenderer(256, 256, {antialiasing: false, transparent: false, resolution: 1});
    document.body.appendChild(renderer.view);
    renderer.backgroundColor = 0xff0000;

    var scene = new PIXI.Container();

    var render = function() {
        renderer.render(scene);
        requestAnimationFrame(render);
    }

    render();

这是 PIXI 3.0.3 的工作代码: http :

所有12条评论

嘿, @kittykatattack
尝试这个:

renderer = new PIXI.WebGLRenderer(800, 600);
renderer.backgroundColor = 0x061639;

谢谢!
也许我正在失去理智(很有可能!!) - 但这对我不起作用。
您的代码在我的系统上生成一个空白画布(我使用的是 v3.0.3)

此外,根据当前的 API 文档, backgroundColor不是渲染器对象的属性?
这是我目前使用的代码,它只生成一个标准的黑色 WeGL 上下文。

var renderer = PIXI.autoDetectRenderer(256, 256, {antialiasing: false, transparent: false, resolution: 1});
document.body.appendChild(renderer.view);
renderer.backgroundColor = 0x061639;

要查看效果,您需要像这样调用渲染器的render方法(我将颜色更改为红色以使其更明显):

var renderer = PIXI.autoDetectRenderer(256, 256, {antialiasing: false, transparent: false, resolution: 1});
    document.body.appendChild(renderer.view);
    renderer.backgroundColor = 0xff0000;

    var scene = new PIXI.Container();

    var render = function() {
        renderer.render(scene);
        requestAnimationFrame(render);
    }

    render();

这是 PIXI 3.0.3 的工作代码: http :

感谢您的帮助,有效!

为什么这不能在文档@miriti 中看到? 在转向问题之前,我已经搜索了很长时间!

@unwitting好问题! 我不知道..我只是在代码中查了一下。 出于某种原因,它没有文档: https :

@miriti PRd :)

已修复 4827cea4bfd4af99bb363c2230da1393ed8221c4

你们有没有经历过在你的新 backgroundColor 开始之前有黑色背景闪光的行为? 我在 ClojureScript 领域,所以我没有方便的 pastebin,但我基本上正在做你期望的 - 创建一个 autoDetectRenderer [除了我指定一个 {view: a-preexisting-canvas-element } 可选参数,而不是直接将其 appendChilding],然后将其 .backgroundColor 设置为 0xFFFFFF。 在我的 .backgroundColor 开始之前,我看到的是 0.5 秒的黑色背景闪光。

我在做一些愚蠢的事情/这是一个众所周知的问题,有明显的修复吗? 谢谢!

@jrheard在定义场景/舞台后直接渲染将解决黑色闪光问题。 例如:

var renderer = PIXI.autoDetectRenderer(width, height);  
renderer.backgroundColor = 0xFF0000;  
var stage = new PIXI.Container();  
renderer.render(stage);  
[...]

代替

var renderer = PIXI.autoDetectRenderer(width, height);  
renderer.backgroundColor = 0xFF0000;  
var stage = new PIXI.Container();  
[...]  
renderer.render(stage);

您可能想要多次执行此操作:

var renderer = PIXI.autoDetectRenderer(width, height);  
renderer.backgroundColor = 0xFF0000;  
var stage = new PIXI.Container(); 
renderer.render(stage);
[...]  
renderer.render(stage);

抱歉回复延迟 - 这解决了我的问题。 谢谢!

由于关闭后没有任何近期活动,因此该线程已自动锁定。 请为相关错误打开一个新问题。

此页面是否有帮助?
0 / 5 - 0 等级