【发布时间】:2019-10-22 20:53:11
【问题描述】:
我在 android studio 上制作了一款游戏,用户必须在死前收集尽可能多的积分。我已经建立了一个排行榜系统,所以如果用户获得高分,他们可以输入他们的名字,它将显示在排行榜上。我有一个游戏结束屏幕,当用户死亡时会出现,并且在该屏幕中我有一个用于排行榜屏幕的按钮。但唯一的问题是,如果用户获得了高分,则必须单击该按钮才能进入排行榜屏幕以输入他们的名字。我想要这样,如果用户获得高分,他会在他死后自动进入排行榜屏幕,而不是游戏结束屏幕。
所以我的问题是,如果用户获得高分而不是游戏结束,是否有人知道如何让用户进入排行榜类?
我已经尝试在我的排行榜类中创建一个静态 int "m",并将它放在用户可以放置的第 1、第 2 和第 3 个位置下,并说如果(分数 > m)然后转到排行榜屏幕,但我意识到这行不通,因为我的 m 等于 1,2 和 3
我的代码:
排行榜类
if(score > scoreSP){
scoreTB = scoreSB;
scoreSB = scoreSP;
editorr.putInt("scoreSB", scoreSB);
editorrr.putInt("scoreTB", scoreTB);
scoreSP = score;
editor.putInt("scoreSP", scoreSP);
editor.commit();
editorr.commit();
editorrr.commit();
scoreName = 1;
m = 1;
}else
if(score > scoreSB && score <= scoreSP){
scoreTB = scoreSB;
editorrr.putInt("scoreTB", scoreTB);
scoreSB = score;
editorr.putInt("scoreSB", scoreSB);
editorr.commit();
editorrr.commit();
scoreName = 2;
m =2;
}else
if(score <= scoreSB && score > scoreTB){
scoreTB = score;
editorrr.putInt("scoreTB", scoreTB);
editorrr.commit();
scoreName = 3;
m = 3;
}
游戏引擎类
if (lives == 0) {
gameState = 2;
GameActivity.end(score);
if(score > Leaderboard.m){
GameActivity.endd(score);
}
}
游戏活动类
static void end(int score){
AppConstants.firstLeaderboard = true;
Context context = AppConstants.gameActivityContext;
Intent intent = new Intent(context, GameOver.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK);
AppConstants.score = score;
context.startActivity(intent);
((Activity) context).finish();
}
static void endd(int score){
Context context = AppConstants.gameActivityContext;
Intent intent = new Intent(context, Leaderboard.class);
intent.putExtra("score", AppConstants.score);
context.startActivity(intent);
((Activity) context).finish();
}
GameActivity.end(score);将我带到游戏结束屏幕和 GameActivity.endd(score);将我带到排行榜屏幕。
我也试过改变他们两个的位置,但这似乎不起作用
【问题讨论】:
标签: java leaderboard