LibGdx - 将 Actor 放在舞台外
LibGdx - Place Actor outside stage
出于某种原因,我找不到这个问题的答案。
我想将我的演员放在屏幕(或舞台)外,然后添加一个动作将其移动到屏幕中。
我试过:
Table table = new Table();
table.setX(-100) //place outside of screen
Label label = new Label("test", skin);
table.add(label);
table.addAction(Actions.moveBy(200f, 0f, 1f)); //move into Screen
//...
anotherTable.add(table); //I've tried setting X here aswell but to no effect
无论我做什么,table 只是从屏幕中间开始然后开始移动,即使我在屏幕内添加一个位置,如 (100, 100),它仍然只是将自己放在中间。我错过了什么?
我猜你在代码中的某处调用 table.setFillParent(true);
因为这会使 table 有一个固定的位置并且会禁用更改它的能力(这是有道理的,如果你想到了 setFillParent
的观点)。
显然,您可以通过删除 table.setFillParent(true);
来解决此问题。如果您需要该功能,您可以在将 table 移动到它的位置后调用该行。
出于某种原因,我找不到这个问题的答案。
我想将我的演员放在屏幕(或舞台)外,然后添加一个动作将其移动到屏幕中。
我试过:
Table table = new Table();
table.setX(-100) //place outside of screen
Label label = new Label("test", skin);
table.add(label);
table.addAction(Actions.moveBy(200f, 0f, 1f)); //move into Screen
//...
anotherTable.add(table); //I've tried setting X here aswell but to no effect
无论我做什么,table 只是从屏幕中间开始然后开始移动,即使我在屏幕内添加一个位置,如 (100, 100),它仍然只是将自己放在中间。我错过了什么?
我猜你在代码中的某处调用 table.setFillParent(true);
因为这会使 table 有一个固定的位置并且会禁用更改它的能力(这是有道理的,如果你想到了 setFillParent
的观点)。
显然,您可以通过删除 table.setFillParent(true);
来解决此问题。如果您需要该功能,您可以在将 table 移动到它的位置后调用该行。