【发布时间】:2019-06-05 09:13:51
【问题描述】:
我正在尝试在 LibGDX 中编写类似 Flappy Bird 的程序。
现在我想实现一个类GameOverScreen,它显示了不同的特性:播放器的score、highscore、placement和name。
我已经将score 实现为public static int score = 0;。每次我的人物经过一个物体时,分数都会增加一。
在我的Tower 类中,我有以下方法:
public boolean collides(Wizard wizard) {
if (position.x < wizard.getX() + wizard.getWidth()) {
return (Intersector.overlaps(wizard.getBoundingRectangle(), barUp)
|| Intersector.overlaps(wizard.getBoundingRectangle(), barDown));
}
return false;
}
所以每次精灵与对象碰撞时,GameOverScreen 应该会出现。
如果用户达到了更高的score,那么highscore = GameWorld.score;,我认为这是一种方法:
此外,应该会出现一个文本框,用户可以在其中写下他的名字然后保存。
为了保存数据,我必须创建一个名为“highscore.json”的文件,其中应包含有关位置、玩家名称和 JSON 格式的得分的信息。要更改“highscore.json”文件中的数据,我必须使用 Gson。
我遇到的问题是我不知道在 GameOverScreen 类中究竟需要写什么(例如,如何在 LibGDX 中创建文本框以及如何在碰撞后打开屏幕), 到
- 以文本形式获取高分
- 获取展示位置并让用户写下他们的名字
- 以 JSON 格式保存数据(以便可编辑)
因为我对 LibGDX 不太熟悉,而且我从未使用过 JSON 文件。
我无法在 Google/github 等上找到合适的 GameOver 课程,因为它们都太具体了。
谁能帮帮我?
【问题讨论】:
标签: java json libgdx textbox gson