Articles of 屏幕管理

LibGDX – 不完美的屏幕过渡

我试图用LibGDX实现屏幕过渡,使用帧缓冲区对象。 我正在使用的代码如下,如许多教程所示: public abstract class BaseGame extends Game { private float deltaTime, transitionTime; private FrameBuffer currentFb = null, nextFb = null; // BaseScreen is just like Screen with some added methods private BaseScreen nextScreen, currentScreen; private Transition transition; private SpriteBatch batch; protected void init(){ int w = Gdx.graphics.getWidth(); int h = Gdx.graphics.getHeight(); batch = new […]

Unity3d和Windows 8在框架中运行游戏

如何设置Unity3D在Windows 8上以固定大小的框架(边框周围)运行我的游戏,而不是全屏? 我试图在Unity脚本和最终的C#项目中设置这个,但是没有效果。 我已经把播放器的分辨率设置为1366×786(所需的大小),虽然这对于网页播放器来说工作正常,但Windows 8解决scheme似乎并不令人印象深刻。 我也修改了“默认全屏”选项

重新开始游戏

当用户按下“新游戏”button时,我无法重新启动2D游戏。 我的游戏结构: 游戏有几个“屏幕”:开幕屏幕,指令屏幕,主游戏屏幕和游戏结束屏幕。 每个屏幕都是一个类的实例: OpeningScreen类, GameScreen类等 有一个叫做Main的类。 这个class有三个角色。 这是程序的JFrame(窗口)。 它有主要的方法 – 一stream的运行。 它有一个改变屏幕的方法。 当程序启动时,这个类运行。 当它第一次运行时: 创建自己的一个新实例(这是一个JFrame类类)。 创建每个“屏幕类”的实例。 每个“screen-class”的构造函数都将Main的实例作为参数:(又名: GameOverScreen gameOverScreen = new GameOver(this) )。 创建一个名为mainPanel的新JPanel,并将其添加到JFrame中。 任何屏幕将被包含在这个JPanel(屏幕也是JPaneltypes的)。 changeScreen()方法如何工作: changeScreen()的签名是: changeScreen(JPanel from, JPanel to) 。 无论何时需要更改屏幕,当前显示的屏幕都会调用此方法,如下所示: main.changeScreen(this, main.InstructionsScreen) 。 它从mainPanel删除以前的屏幕,并将新的屏幕添加到mainPanel 。 如上所述,这些屏幕是在程序启动时创建的。 这是更改屏幕的方法: public void changeScreen(JPanel from, JPanel to){ mainPanel.remove(from); mainPanel.add(to); mainPanel.revalidate(); mainPanel.repaint(); } 我的问题: 游戏结束后,Game类调用changeScreen方法: main.changeScreen(this, […]

Libgdx屏幕保持主屏幕上的文字游戏类

在我的libGDX应用程序中,我在主Game类上运行了一些文本,当我切换到不同的屏幕时,文本仍然存在? 任何人都可以解释这一点。 同样在我的主类中,它将屏幕切换到启动屏幕,然后到我前面提到的屏幕。 但是闪屏没有顶部的文字。

使用gametime.ElapsedGameTime触发事件

我有一个splashscreen对象,在加载下一个屏幕之前等待用户input,但我也想在经过一段时间后加载下一个屏幕。 我尝试添加一个检查来查看游戏过去的时间是否大于或等于设定的秒数。 用户input仍然改变屏幕,但是在满足时间要求之后,屏幕不会改变。 我究竟做错了什么?

是否有收集非游戏画面或页面的艺术术语?

在游戏中是否有一个非游戏画面或页面的收集艺术术语? 我正在考虑屏幕如: 标题屏幕 选项菜单(键绑定,音量,graphics质量) 信用屏幕 高分表(可能是extradiegetic?) 帮助页面 等等 这些都是“元屏幕”,因为它们帮助玩家管理游戏体验,但不在游戏空间之中。 我所寻找的术语不应该包括用于额外元素的屏幕,例如库存管理,角色对话框,提示屏幕等,因为这些都与游戏状态有关,或者控制游戏状态。

切换游戏中的屏幕

我正在开发一个简单的Java游戏。 我希望游戏有一个开放的屏幕,说明屏幕和游戏本身的屏幕。 用户从开始屏幕按下button来进入指令屏幕或游戏屏幕。 用户应该能够从指令中回到开始屏幕。 游戏结束后,用户自动返回到开幕画面。 我希望所有这一切都发生在同一个JFrame 。 每个屏幕应该是一个扩展JPanel的类。 什么是最好的方法来做到这一点? 我想在Main类(使用main()方法的类)中创建一个方法,可以在程序中的任何地方调用这些开关屏幕。 但是这个方法如何切换屏幕呢? 什么是replaceJPanels的最好方法? 非常感谢

切换屏幕,而不是每次都初始化它们

我有一个用户界面有四个屏幕(都扩展了一个“主屏幕”),用户之间非常频繁地切换,现在我用g.setScreen(new screen);切换屏幕g.setScreen(new screen); ,但这会导致我必须重新加载并初始化屏幕内的所有内容,这会导致内存泄漏。 有什么方法可以将屏幕保存在内存中,只需加载它们而不必重新初始化内部的所有内容? 或者这是不好的? 因为我目前的做法不会削减它。 我正在g.setScreen(screenArray.get(nextScreen));启动时初始化所有屏幕,并将它们保存在一个数组,然后加载我所需要的屏幕,当我需要它,即g.setScreen(screenArray.get(nextScreen)); 。 这是一个可行的方法吗? 请任何建议,你可以给予帮助,真的需要帮助。

在固定屏幕游戏中保持不同设备的比例

我的游戏是使用OpenGL ES 2.0的Android游戏(但是这个问题可能适用于任何平台)。 关于比例管理,我已经阅读了很多关于这方面的问题,并且在这个网站之外阅读了很多教程,但是我仍然对如何管理这个问题感到困惑。 我的游戏是一个固定屏幕 2D平台游戏。 通过固定屏幕,我的意思是玩家一次看到整个屏幕,屏幕不滚动。 所有的行动都发生在这个屏幕上(有点像Bubble Bobble)。 因此,滚动是不可能的,因为我们需要看整个游戏区域。 在我的开发设备上,我写了一切看起来很完美,如下所示: 我目前所做的是当游戏在其他设备上运行时,我调整了我的GLViewport,以便保持这样的比例: 显然,这有它自己的问题 – 即浪费屏幕房地产。 现在,如果我找不到更好的解决scheme,我会很不情愿地接受这一点,但是,Google的文档声明,不允许(各种)看到: 应用程序在两个方向都使用整个屏幕,而不是用信箱来解决方向变化。 所以,最后,我只是把它伸展到像这样的屏幕: 这需要整个屏幕,但坦率地说,一切都被拉长了,看起来有点尴尬。 我没有select吗? 我在Play商店(即固定屏幕)上看到了一些类似的游戏,它们在不同的屏幕上显得完全相同 (没有任何延伸) ,似乎没有任何额外的空间 ,但我完全不知道它们是如何做到这一点。 很想听到自己处理这个问题的人,或者对如何处理这个问题有任何想法。

我如何在LibGDX中处理游戏画面?

在我的游戏中,主屏幕是玩游戏。 但是因为我想在画面上面画出菜单和游戏画面,我不会为它们创建单独的画面。 但是如果我想重播,我必须重新开始播放。 这经常发生,所以我应该加载所有的资源,并在游戏closures时处置它们。 因为除此之外,当我重新启动屏幕时,我不得不再次加载资源,这会降低性能。 请给我一些建议。