Привет,
Есть ли замена для stage.setBackgroundColor
в v3?
Привет, @kittykatattack !
Попробуй это:
renderer = new PIXI.WebGLRenderer(800, 600);
renderer.backgroundColor = 0x061639;
Спасибо!
Может быть, я схожу с ума (очень возможно !!) - но у меня это не работает.
Ваш код создает пустой холст в моей системе (я использую v3.0.3)
Кроме того, backgroundColor
не является свойством объекта рендеринга, согласно текущим документам API?
Вот код, который я сейчас использую, который просто создает стандартный черный контекст 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.github.io/pixi-background/
Спасибо за помощь, это работает!
Почему этого не видно в документации @miriti ? Я искал это целую вечность, прежде чем перейти к проблемам!
@ невольно хороший вопрос! Не знаю .. Я только что посмотрел в коде. По какой-то причине у него нет документа: https://github.com/GoodBoyDigital/pixi.js/blob/master/src/core/renderers/SystemRenderer.js#L148
@miriti PRd :)
Исправлено в 4827cea4bfd4af99bb363c2230da1393ed8221c4
Вы, ребята, сталкивались с поведением, когда вспыхивает черный фон перед тем, как сработает ваш новый backgroundColor? Я использую ClojureScript-land, поэтому у меня нет под рукой pastebin, но я в основном делаю то, что вы ожидаете, - создаю autoDetectRenderer [за исключением того, что я указываю {view: a-preexisting-canvas-element } необязательный аргумент вместо того, чтобы добавлять его напрямую], а затем устанавливаем для его .backgroundColor значение 0xFFFFFF. И я вижу вспышку черного фона на 0,5 секунды перед тем, как сработает мой .backgroundColor.
Я делаю что-то идиотское / это хорошо известная проблема с очевидным исправлением? Спасибо!
@jrheard Render сразу после определения вашей сцены / сцены устранит проблему с черной вспышкой. Например:
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);
извините за задержку с ответом - это устранило мою проблему. Благодарность!
Этот поток был автоматически заблокирован, поскольку после его закрытия в последнее время не было никаких действий. Пожалуйста, откройте новую проблему для связанных ошибок.
Самый полезный комментарий
Чтобы увидеть эффект, вам нужно вызвать метод
render
рендерера следующим образом (я изменил цвет на красный, чтобы сделать его более очевидным):Вот рабочий код PIXI 3.0.3: http://miriti.github.io/pixi-background/