我的游戏上有一个按钮,它可以在我的游戏屏幕上设置屏幕,并且它位于我的菜单屏幕上。所以发生的情况是,当我的角色死亡时,它只会返回到菜单屏幕,我不想做的是,当我输了时,只会有一个按钮让你再次玩,还有一个框显示你的分数和最好的分数,我想知道那个盒子叫什么,它只是一个在条件成立时会显示的纹理吗?以及如何制作按钮或文本向上移动并在正确位置时停止的效果(或当它们显示在屏幕上时的其他效果)。
最佳答案
我发现当你的角色死亡时,游戏不太可能自动再次进入主菜单屏幕。您更有可能正在做一些教程或编写一些代码来告诉程序在角色死亡时返回主菜单。
无论如何,在我最新的游戏中,我只是让一个堆栈 Actor 作为我舞台上的第一个 Actor 。在那里,我只需输入界面即可,就像人们通常所做的那样。当我需要顶部的屏幕时,我只需将其添加到基础堆栈中即可。这可以是带有取消暂停、重新启动和退出按钮的暂停显示。或者这可能是一个游戏结束屏幕,其中使用退出和重播按钮计算分数。
Stage stage;
Stack stack; //scene2D.ui.Stack
Table mainTable;
Table overlayTable;
public GameScreen()
{
stage = new Stage();
stack = new Stack();
mainTable = new Table();
overlayTable = new overlayTable();
stage.addActor(stack);
stack.addActor(mainTable);
stack.addActor(overlayTable);
}
现在只需像通常布局界面/游戏一样设置mainTable
。 overlayTable
用于显示覆盖在主表上的内容。当不再需要它时我会清除它,并在玩家暂停或完成关卡时再次构建它。您还可以为此使用单独的表格,例如 pauzeTable
、successTable
、failedTable
等,并根据需要隐藏或显示这些表格。
对于效果,您只需专门使用 Scene2D
Actions
、MoveToAction
或 MoveByAction
即可。您可以为每个按钮/参与者设置一个操作,以便您可以更好地单独控制它们,或者仅对整个表格设置一个 MoveToAction。
Table actionTable = new Table();
//position the table outside the screen
actionTable.setPosition(stage.getWidth(), 0); //Position on the right of the stage
MoveToAction moveAction = new MoveToAction();
moveAction.setPosition(0, 0); //Move from right side of stage inside the stage
moveAction.setDuration(.5f); //Duration of this action
moveAction.setInterpolation(Interpolation.fade); //Fade the movement in and out, many interpolations are supplied by the framework.
actionTable.addAction(moveAction); //Execute Action.
关于java - 如何在 libgdx 中制作再次播放按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34938066/