Phaser.js中的阿拉伯字体

时间:2018-01-26 02:11:39

标签: phaser-framework

您好我想在Phaser游戏中添加一些阿拉伯文字。我在update()函数中有以下内容:

    this.scoreText = this.add.text( this.world.centerX, this.world.height/5, 
                         "",{nsize: "32px", fill: "#FFF", align: "center"});

    this.scoreText.setText("تُفاحة");

这会在屏幕上产生不是阿拉伯语的奇怪字母。有什么想法吗?

2 个答案:

答案 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/

中的文本

还有另一种方式可以做到这一点,但就像我刚刚解释过的那样,它运作良好