Libgdx 标签旋转

Posted

技术标签:

【中文标题】Libgdx 标签旋转【英文标题】:Libgdx label rotation 【发布时间】:2015-01-15 07:32:51 【问题描述】:

不能旋转标签吗? API似乎具有该功能,但似乎不起作用?还有其他方法可以旋转文本吗?

Label nameLabel = new Label( "Test", skin);
nameLabel.setRotation( 90 );
stage.addActor( nameLabel );

【问题讨论】:

这可能会有所帮助:code.google.com/p/libgdx/issues/detail?id=1435 【参考方案1】:

您可以将标签包装在另一个 Actor 中并旋转父 Actor。所以你会间接旋转标签,但可见的结果是一样的。

所以你可以像这样创建一个父actor:

public class LetterActor extends Group  //..

然后例如在构造函数中为它添加一个标签:

this.addActor(someLabel);

然后添加一个旋转动作(或任何其他动作!)给它:

this.addAction(Actions.rotateBy(90));

您可能还需要为此父演员设置高度/宽度和原点

【讨论】:

为什么这对我不起作用?我忘记了什么?尝试使用组 - 没有组,使用 addAction(rotateBy(90)) 仅使用 rotateBy(90) 和 setRotation(90).. 旋转没有任何反应 您需要将旋转动作添加到组中,并且组需要将标签添加为子actor 确保您在组上设置了 setTransform(true),以便应用于组的转换过滤到文本【参考方案2】:

我发现在 libGDX 中无法旋转标签、按钮或任何带有文本的东西。您可以制作图像并将其旋转作为一种解决方法。

【讨论】:

以上是关于Libgdx 标签旋转的主要内容,如果未能解决你的问题,请参考以下文章

如何将libgdx中的图像演员旋转中点?

LibGDX - 相机旋转

围绕另一个 Sprite 旋转一个 Sprite -libGDX-

iOS 上的 LibGDX:使用 Robovm 以编程方式旋转屏幕

Libgdx/Java:将 GPS 转换为像素坐标后,路线旋转 90°

如何在ShapeRenderer LibGDX / Java中显示旋转的多边形