При попытке следовать this tutorial для pixi.js Я наткнулся на то, что я не могу понять.Контейнер PIXI больше, чем этап?
Я установил размер renderer
до 512 на 512, но при попытке оказать stage
с TilingSprite
, сцена урезается, прежде чем он достигнет конца холста, например, так:
EDIT: чернота, которую вы видите на изображении выше, все еще находится в пределах холста размером 512 на 512, это не фон браузера.
Вместо того, чтобы воспроизводить напольную плитку навсегда, сцена становится черной после 100 пикселей или около того.
Что здесь происходит?
Вот код:
PIXI.SCALE_MODES.DEFAULT = PIXI.SCALE_MODES.NEAREST;
//Aliases
var Container = PIXI.Container,
autoDetectRenderer = PIXI.autoDetectRenderer,
loader = PIXI.loader,
resources = PIXI.loader.resources,
TextureCache = PIXI.utils.TextureCache,
Texture = PIXI.Texture,
Sprite = PIXI.Sprite;
TilingSprite = PIXI.TilingSprite;
var stage = new Container();
stage.scale.set(3,3);
var renderer = autoDetectRenderer(512, 512);
document.body.appendChild(renderer.view);
PIXI.loader
.add("src/tileset.json")
.load(setup);
function setup() {
var id = PIXI.loader.resources["src/tileset.json"].textures;
let dude = new Sprite(id["dude"]);
let blob = new Sprite(id["blob"]);
let floor = new TilingSprite(id["floor"]);
let chest = new Sprite(id["chest"]);
//Position the chest next to the right edge of the canvas
chest.x = stage.width - chest.width - 48;
chest.y = stage.height/2 - chest.height/2;
stage.addChild(floor);
stage.addChild(chest);
stage.addChild(dude);
renderer.render(stage);
}
Вы пробовали, что произойдет, если вы не установите масштабирование? Правильно ли он работает, если вы вручную установили размер TilingSprite? Как новый TilingSprite (id ["floor"], renderer.width, renderer.height)? – Hachi