gpt4 book ai didi

java - 为什么 Libgdx 的表不接受缩放操作?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:36:02 24 4
gpt4 key购买 nike

我在 libgdx 库中使用 scene2d 在我的游戏中创建一些 UI。

我使用了一个表格,我想在用户触摸时采取一些缩放操作以使按钮触摸有意义。

当我使用任何其他“Actor”类型(如 Group)并为其提供缩放操作时,它可以工作,但不能使用 Table。

这是我的表格定义:

Table table = new Table();
table.setSize(width, height);
table.setPosition(x, y);
table.setOrigin(width/2, height/2);
table.add(new Label(...));
table.row();
...

在我的 touchDown 事件中,我给它一个缩放 Action :

table.addAction(Actions.scaleTo(0.8f, 0.8f, 0.1f));

在 touchUp 中,我给它另一个 Action 来获得原始比例:

table.addAction(Actions.scaleTo(1f, 1f, 0.1f));

正如我所说,此代码适用于其他类型的 Actor,例如 Image 和 Group。为什么不适用于 Table 的任何想法?

最佳答案

回答我自己的问题:

根据 libGdx 的文档 (https://code.google.com/p/libgdx/wiki/scene2dui#Rotation_and_scale),如果设置了背景,表格不支持缩放和旋转。

如果我们想要缩放和/或旋转表格,我们必须像下面的代码那样工作:

TextButton button = new TextButton("Text Button", skin);
Table wrapper = new Table();
wrapper.add(button);
wrapper.setTransform(true);
wrapper.setOrigin(wrapper.getPrefWidth() / 2, wrapper.getPrefHeight() / 2);
wrapper.setRotation(45);
wrapper.setScaleX(1.5f);

关于java - 为什么 Libgdx 的表不接受缩放操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13201462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com