我正在使用libgdx(com.badlogic.gdx.Game和Screens以及那些东西)制作游戏.我有以下问题:在桌面上,当我关闭窗口(从顶部的十字架),当然应用程序关闭.但我想回到菜单屏幕并在那里处置,因为我在那里处理资源(通过资产管理器).我有退出游戏的按钮,如果以这种方式退出,那很好.麻烦的是可以按下红十字.那么在这种情况下如何正确处理?
在Android版本上,我抓住了后面的键,并以我自己的方式处理游戏的不同部分和整个游戏.它工作正常.
我有另一个相关的问题:
在桌面上,应用程序无法停止然后处理(在它自己,没有用户显式退出它)像Android版本可以(Android生命周期),对吧?所以这是一个好主意,如果我暂时保存暂停()并从resume()恢复游戏状态,我不会在桌面上恢复(因为恢复不是一个完整的恢复,我不'如果在桌面上,窗口只是最小化(正如我注意到的那样,在最小化/恢复窗口时调用pause()/ resume())),我希望恢复发生.
希望这不太清楚:D.我试图谷歌寻求答案,但似乎没有找到任何东西.任何帮助深表感谢.
我在游戏画面中使用了一个舞台.在这个阶段,我有像游戏地图这样的演员(玩家可以移动,舞台的镜头移动并缩放(或重新定位)以保持视口在地图内),玩家和其他游戏内容.然后我通过扩展Group添加我制作的HUD元素:
public class Hud extends Group implements Disposable {
Run Code Online (Sandbox Code Playgroud)
在本课程中,我定义了一个新的OrthographicCamera:
hudCamera = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
Run Code Online (Sandbox Code Playgroud)
我想用这台相机让HUD固定在屏幕上.我像这样画画:
@Override
public void draw(SpriteBatch batch, float parentAlpha) {
batch.setProjectionMatrix(hudCamera.combined);
//Then draw my HUD stuff
}
Run Code Online (Sandbox Code Playgroud)
绘图工作正常,但问题是(触摸和其他)事件.他们的坐标错误.我该如何解决这个问题.我试图覆盖命中(float x,float y,boolean touchable)方法,并考虑覆盖localToParentCoordinates和parentToLocalCoordinates方法.但是我会把它放在哪里(乘以hudCamera.combined就像绘图时那样)?或者我认为这一切都错了?
我也担心,当我在舞台的相机中使用变焦时,它会弄乱坐标.这是现实吗?