如何在PIXI.js中计算生成纹理的分辨率。generateTexture(…)的文档需要一个数字作为分辨率。
文件:http://pixijs.github.io/docs/PIXI.Graphics.html#generateTexture
在以下示例中,将绘制一个具有特定宽度和高度的矩形。在我看来,分辨率将是宽度和高度相乘后的像素数。
this._graphics.lineStyle(1, 0x012489, 1.0);
this._graphics.beginFill(0x696969, this.1.0);
this._graphics.drawRect(-(width/2.0), -(height/2.0), width, height);
this._graphics.endFill();
this.texture = this._graphics.generateTexture(width * height, PIXI.SCALE_MODES.DEFAULT);
从代码中可以看出,分辨率设置的不是分辨率,而是相对分辨率,实际上是这样的:https://pixijs.github.io/docs/PIXI.BaseTexture.html#resolution,正如它所说:"不同像素比的设备的纹理分辨率"。
默认值为1,这对于桌面设备来说是正常的,移动设备上的像素比例可能不同。您应该能够使用此函数(getPixelRatio)获得像素比率:https://github.com/Hachitus/FlaTWorld/blob/master/src/components/map/core/utils/utils.js#L195,但该功能并没有经过真正的战斗测试,尽管到目前为止在测试中也没有显示出任何问题。