Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么是Libgdx';s表不接受缩放操作?_Java_Libgdx_Tablelayout_Scene2d - Fatal编程技术网

Java 为什么是Libgdx';s表不接受缩放操作?

Java 为什么是Libgdx';s表不接受缩放操作?,java,libgdx,tablelayout,scene2d,Java,Libgdx,Tablelayout,Scene2d,我正在使用libgdx库中的scene2d在游戏中创建一些UI 我使用了一个表,我想在用户触摸时进行一些缩放操作,以使按钮触摸有意义 当我使用任何其他类型的“演员”时,比如组,并给它一个缩放动作,它可以工作,但表不能 这是我的表定义: Table table = new Table(); table.setSize(width, height); table.setPosition(x, y); table.setOrigin(width/2, height/2); table.add(new

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

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

当我使用任何其他类型的“演员”时,比如组,并给它一个缩放动作,它可以工作,但表不能

这是我的表定义:

Table table = new Table();
table.setSize(width, height);
table.setPosition(x, y);
table.setOrigin(width/2, height/2);
table.add(new Label(...));
table.row();
...
在我的接地事件中,我给它一个缩放动作:

table.addAction(Actions.scaleTo(0.8f, 0.8f, 0.1f));
在润色中,我给它另一个动作来获得原始的音阶:

table.addAction(Actions.scaleTo(1f, 1f, 0.1f));
正如我所说的,这段代码适用于其他类型的角色,如图像和组。
有什么想法为什么不适用于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);

在库的最新版本(0.9.8)中,
setTransform
似乎丢失了,但您可以调用
setClip(true)
,它可以将转换作为一种副作用。@Nick-setTransform仍在0.9.8下。这是一种对我有用的
Group
方法,thanx!设置setTransform(true)为我固定了桌子上的刻度。医生撒谎了!他们说默认情况下这是真的,但不是我:)