pixijs:根据纹理(图像)按比例设置精灵的宽度和高度



我有大约50个图像,我将它们加载到应用程序中。然后我为每个图像创建精灵。图像的宽度和高度不同,它们的宽度/高度不相同,与我在屏幕上需要的精灵相比,图像相当大。

我使用的是最新的PIXI.jS版本。我已经定义了宽度(假设宽度=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

我想我做数学没有问题,但我有问题得到正确的值来计算/比例。

您可以获得;"本地";距基础纹理的宽度/高度:

alert(mySprite.texture.baseTexture.width);
alert(mySprite.texture.baseTexture.height);

在PixiJS中,纹理只是一个围绕BaseTexture的薄包装,它"告诉"精灵要绘制BaseTexture的哪一部分。所有好的东西都在BaseTexture中。

最新更新