我将使用libgdx库中的scene2d来创建游戏中的一些用户界面。
我使用了Table,希望在用户触摸时进行一些缩放操作以增强按钮的触摸感。但是,如果我使用其他“Actor”类型(如Group),并给它一个缩放操作,它可以正常工作,但是Table不行。
以下是我的Table定义:
我使用了Table,希望在用户触摸时进行一些缩放操作以增强按钮的触摸感。但是,如果我使用其他“Actor”类型(如Group),并给它一个缩放操作,它可以正常工作,但是Table不行。
以下是我的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事件中,我给它一个缩放动作:
table.addAction(Actions.scaleTo(0.8f, 0.8f, 0.1f));
在touchUp中,我会给它另一个动作来获取原始比例:
table.addAction(Actions.scaleTo(1f, 1f, 0.1f));
正如我所说,这段代码适用于其他类型的Actor,比如Image和Group。有任何想法为什么不适用于Table吗?
setTransform
似乎已经消失了,但是您可以调用setClip(true)
来启用转换作为副作用。 - NickGroup
的一个方法。http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/scenes/scene2d/Group.html#setTransform%28boolean%29 - Pool