#pixi.js
#pixi.js
Вопрос:
У меня около 50 изображений, я загружаю их в приложение. Затем я создаю спрайт для каждого изображения. Ширина и высота изображений различаются, они не одинаковой ширины / высоты, а изображения довольно большие по сравнению со спрайтами, которые мне нужны на экране.
Я использую последнюю PIXI.jS
версию. Я определил ширину (допустим, width = 100). Мне нужно, чтобы все спрайты были с = 100, но высота должна быть рассчитана пропорционально на основе изображения (из которого была создана текстура).
Возможно ли это?
let mySprite = new PIXI.Sprite(app.loader.resources[imgName].texture);
mySprite.anchor.set(0.5, 0.5);
mySprite.width = 100;
mySprite.height = 100; // instead this should be calculated to fit image proportions
Я думаю, что у меня нет проблем с математикой, но у меня есть проблемы с получением правильных значений, по которым должны быть рассчитаны вычисления / пропорции.
Ответ №1:
Вы можете получить «родную» ширину / высоту из базовой текстуры:
alert(mySprite.texture.baseTexture.width);
alert(mySprite.texture.baseTexture.height);
В PixiJS текстура — это просто тонкая оболочка вокруг базовой текстуры, которая сообщает спрайту, какую часть базовой текстуры рисовать. Все хорошее находится в базовой структуре.