Phaser.js 中的文本方向

8

我想知道Phaser.js Text类是否有任何文本方向控制的功能,例如当用户输入一些文本时,在画布上输入的文本会具有从右到左或从左到右的文字方向;

而我正在整个画布应用程序上实现此功能。

在普通的HTML中,我们可以使用CSS属性来实现这一点。

 direction:ltr,

   direction:rtl

有人知道如何做吗?

我正在阅读phaser.js文本类,但找不到任何属性将方向设置为从右到左,但没有运气。

提前致谢;


@Cherniv 不,你有什么方法可以做到吗? - Oli Soproni B.
我正在使用这种方法来处理希伯来语:https://jsfiddle.net/xgk454nz/,但我不知道它是否适用于阿拉伯语.. - Ivan Chernykh
3个回答

3

由于我找不到有关Phaser如何实现此功能的文档,因此我只能通过一些变通方法来使文字方向右对齐。

这里是一个简单的文本示例。

var txt = this.game.add.text(10, 10, '0', {
    font: "21px arial", 
    fill: "#00FF00", 
    align:'right', 
    fontWeight:'bold',
});

计算txt的新位置x:

公式:

txt.x = 常量 - txt.width

常量将是您想要根据您的定位进行偏移的参考点。

因此,当变量txt文本更新时,

您可以使用新数据重新定位它。

txt.setText(100);

txt.x = 84 - (txt.width);

0

看起来现在通过这个类,phaser text 支持 rtl 了:

Phaser.GameObjects. TextStyle

-1

试试这个:

yourApplication.canvas.setAttribute("dir", "rtl");

......其中yourApplication保留了您的游戏/应用程序的引用。这将向DOM画布元素添加属性,该元素用于绘制您的游戏/应用程序(如果这正是您想要的)。


2
你试过了吗?因为这段代码只会将一个属性添加到画布dir = rtl。 - Oli Soproni B.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接