【问题标题】:How do you make play again button in libgdx?你如何在 libgdx 中再次播放按钮?
【发布时间】:2016-01-22 02:39:07
【问题描述】:

我的游戏上有一个按钮,用于在我的游戏屏幕上设置屏幕,它位于我的菜单屏幕上。所以发生的情况是,当我的角色死亡时,它只是回到菜单屏幕,我不想做的是,当我输了时,只会有一个按钮让你再次玩游戏,还有一个显示你的分数和最好的分数,我想知道那个盒子叫什么,它只是一个在条件为真时会出现的纹理吗?以及如何使按钮或文本向上移动并在它们处于正确位置时停止的效果(或当它们出现在屏幕上时的其他效果)。

【问题讨论】:

  • 我使用 Sprite 作为按钮。

标签: java button libgdx effects


【解决方案1】:

我发现当你的角色死亡时,游戏不太可能再次自动进入主菜单屏幕。更有可能是您正在做一些教程或编写一些代码来告诉程序在角色死亡时返回主菜单。

无论如何,在我最新的游戏中,我只是让一个堆栈演员作为我舞台上的第一个演员。在那里,我只需放入界面,就像通常的人一样。当我需要顶部的屏幕时,我只需将其添加到基本堆栈中即可。这可能是带有取消暂停、重新启动和退出按钮的暂停显示。或者这可能是一个通过退出和重播按钮计算分数的游戏。

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 用于显示覆盖在主表上的内容。我在不再需要它时清除它,并在玩家暂停或完成关卡时再次建立它。您还可以为此使用单独的表格,例如 pauzeTablesuccessTablefailedTable 等,并根据需要隐藏或显示它们。

对于效果,您只需使用 Scene2D ActionsMoveToActionMoveByAction。您可以为每个按钮/演员设置一个动作,这样您就可以单独控制它们,也可以只为整个表格设置一个 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.     

【讨论】:

  • 我有一个名为 life(character life) 的变量,当它变为 0 时,我只需执行 game.setScreen(new MenuScreen(game)),单击 play 按钮时也一样 game.setScreen(new GameScreen (游戏)); game 等于扩展 Game 的 mainclass。
  • 因此,您可以先以任何您想要的方式显示对话窗口,而不是设置新屏幕。然后向其添加指向主菜单、下一级或重试当前级别的按钮。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-14
  • 1970-01-01
  • 1970-01-01
  • 2020-06-15
  • 2018-04-09
相关资源
最近更新 更多