您好我想在Phaser游戏中添加一些阿拉伯文字。我在update()函数中有以下内容:
this.scoreText = this.add.text( this.world.centerX, this.world.height/5,
"",{nsize: "32px", fill: "#FFF", align: "center"});
this.scoreText.setText("تُفاحة");
这会在屏幕上产生不是阿拉伯语的奇怪字母。有什么想法吗?
答案 0 :(得分:1)
首先,你不应该在update()
方法中添加文本 - 这会导致它被多次添加(每帧一次,理想情况下每秒60次) 。将其移至create()
方法,以便仅添加一次。参数中也有拼写错误:nsize
应该只是size
。
function create() {
this.scoreText = this.add.text( this.world.centerX, this.world.height / 5, "", { size: "32px", fill: "#FFF", align: "center" });
this.scoreText.setText("تُفاحة");
}
答案 1 :(得分:1)
您可以尝试类似
的内容在index.html
中的CSS部分中导入字体@import url(https://fonts.googleapis.com/earlyaccess/amiri.css);
然后将样式声明为变量
var style = { font: "32px Amiri", fill: "#333", align: "center" };
然后在创建函数中添加像这个jsfiddle https://jsfiddle.net/albator2018/r2zLtoqd/
中的文本还有另一种方式可以做到这一点,但就像我刚刚解释过的那样,它运作良好