我正在开发与Phaser.js(v2)的交互,但是我面临着整体质量的损失(图像,子画面,文本等)。尤其是渲染文本:
const strtxt = this.game.add.text(0, 0, str, {
font: 'Open Sans',
fontSize: 17,
weight: 400,
}, text);
strtxt.align = 'center';
strtxt.lineSpacing = -4;
strtxt.anchor.set(0.5, 0);
strtxt.wordWrap = true;
strtxt.wordWrapWidth = 300;
const y = text.getAt(1).height + ((index + 1) * 60);
strtxt.position.set(250, y);
至少在文字方面,我真的很想提高质量。 我该怎么办?
答案 0 :(得分:0)
Phaser通常会渲染到固定的画布,然后拉伸该画布以填充屏幕。例如,如果将画布大小设置为480 x 640像素,但在高清监视器上播放,那么可以说它是“炸毁的”。这是高分辨率显示器中显示的低分辨率图像,这就是为什么它看起来有点模糊的原因。
优点是游戏将始终显示相同的大小。作为程序员,您不必担心许多不同的显示分辨率和尺寸,尤其是在平板电脑或手机上。但是缺点是分辨率和模糊性下降。
所以我想您需要一个像素对像素的比例,不确定相位器是否支持此比例,但是我认为您可以将scaleMode
设置为SHOW_ALL
,或者也许将USER_SCALE
设置为自定义函数来处理调整大小事件。另请参见this question或this forum topic