当前位置: 首页 > 知识库问答 >
问题:

LibGdx-屏幕之间的转换

荆乐
2023-03-14

我试图改变Libgdx屏幕之间的动画。我想写我的自定义动画(淡入淡出等)。有人能给我个线索吗?我似乎在Libgdx代码中找不到转换的实现。

共有3个答案

林德惠
2023-03-14

我已经实现了类似的方法。多亏了Gustavo Steigert,我从他的博客中学到了很多。在这里,你可以找到他的fadeIn和fadeOut序列的例子。

http://steigert.blogspot.in/2012/02/3-libgdx-tutorial-scene2d.html

你可以完全浏览他的博客,更好地了解文章的流程,并在他的每一篇文章的末尾找到文章源代码的标签。

胡禄
2023-03-14

我已经实现了一些使用Scene2D的滑动转换和通用的吐温引擎。您可以在这里找到示例代码。

http://www.netthreads.co.uk/2012/02/09/libgdx-scene2d-demo-with-scene-transitions/

更新:本文说明了我实现滑动转换的方法。底部有一个链接,可以让你在这里看到一组演示https://github.com/alistairrutherford/libgdx-demos

关于如何构建演示,有明确的说明,但您至少需要掌握maven的基本知识以及如何设置它。

宇文学博
2023-03-14

以下是我的工作:

FadeIn非常简单,只需将其添加到FadeIn屏幕显示()中即可:

stage.getRoot().getColor().a = 0;
stage.getRoot().addAction(fadeIn(0.5f));

淡出有点棘手。您不想立即切换屏幕,所以不要调用game.set屏幕(newScreen),而是在淡出屏幕中创建如下方法:

public void switchScreen(final Game game, final Screen newScreen){
    stage.getRoot().getColor().a = 1;
    SequenceAction sequenceAction = new SequenceAction();
    sequenceAction.addAction(fadeOut(0.5f));
    sequenceAction.addAction(run(new Runnable() {
        @Override
        public void run() {
            game.setScreen(newScreen);
        }
    }));
    stage.getRoot().addAction(sequenceAction);
}

像这样,您可以在淡出期间延迟屏幕切换。

 类似资料:
  • 问题内容: 大家好,我仍在从事这个libgdx项目的工作,我试图找出将屏幕切换到游戏屏幕的最佳方法。现在,当单击一个按钮时,我需要它来切换到游戏屏幕。我已经看到了一些扩展游戏类的实现方式,但是我不确定这里最好的方法是什么。如果您看到一些可以改进的代码,请告诉我。 这是主要的应用程序类: 问题答案: 这就是我始终执行屏幕切换的方式: 首先,主类需要扩展Game(From ),然后您需要具有一个新的t

  • 大家好,我仍然在做这个libgdx项目,我正在努力找出最好的方法来改变我的游戏屏幕现在,当一个按钮被点击时,我需要它转换到游戏屏幕。我见过一些扩展game类的实现,但我不确定从这里开始最好的方法是什么。如果你看到一些可以改进的代码,请让我知道。 以下是主要的应用程序类:

  • 多亏了我在这个论坛上解决其他问题的帮助,我成功地推进了我的项目,但另一个障碍出现在我的道路上。 我有麻烦在libgdx java实现多个屏幕。我想知道如何实现多个屏幕(一个用于主菜单,一个用于播放,一个用于加载屏幕,...)。 关于我应该如何构造我的屏幕类的一个例子或一些解释将非常有帮助。我试着实现我自己的屏幕管理器,但不太顺利...还有一些关于我应该如何处理屏幕的提示,因为每次从主菜单到播放或选

  • 在libGDX中切换屏幕似乎有问题。它会切换到游戏屏幕,但不会切换回主屏幕,也不会切换到屏幕上的游戏。我的游戏课: 我的GameScreen类(实现屏幕): 这就是我如何更改屏幕(不工作): 你可以在这里找到全部来源。

  • 我想了解游戏类和屏幕界面之间的关系。在我正在阅读的教科书中,它指出Game类将函数从ApplicationListener委托给screen对象。这让你可以切换屏幕。我不明白,为什么会这样,它是如何工作的? 我目前的理解是:游戏从ApplicationListener(Create()、Render()等)实现生命周期方法。但您不直接从ApplicationListener实现的原因是,如果您从G

  • 我是Libgdx新手,我编写了一个扩展游戏类的类,问题是游戏中的setScreen()方法没有交换屏幕,因为在我设置屏幕之后,我的游戏仍然只渲染游戏类中渲染方法中的内容,而不是screen类的渲染方法中的内容。代码如下: 如果用户运行此代码,即使在用户触摸(单击)屏幕时更改屏幕,我也只会看到一个红色屏幕