所以我在我的应用程序上运行了Ninja。它似乎编码正确。当我玩游戏并得到一个分数时,弹出框并提示我输入我的姓名等,然后进入另一个显示列表的小屏幕。在我输入并提交然后退出第二个小方框后,我得到了高分,它没有显示任何高分。然后,当我再打一轮时,我再次获得高分,另一个得分不在列表中。想知道是否有人使用过这个并且知道很多。在应用程序发布之前,它是否不显示并跟踪高分?或者也许我编写了错误的内容并且没有保存它或其他东西。如果你想看到它,我的代码就在这里。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(new GameView(this));
// scoreNinjaAdapter = new ScoreNinjaAdapter( // context,“appid”,“key”);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
scoreNinjaAdapter.onActivityResult(requestCode, resultCode, data);
}
void onGameOver(){
//
}
这是导致表面视图的PlayGame类。我已尝试使用上面在代码中注释的内容。我也在onGameOver()中有东西,但它也没有任何区别。以下是包含它的表面视图中的代码。
@Override
protected void onDraw(Canvas canvas) {
else if (gameState == GAME_OVER){
gameOverTime =(double)(System.currentTimeMillis()-startTime)/100000;
finalScore = score;
canvas.drawRect(0, 0, canvas.getWidth(), canvas.getHeight(), clearPaint);
if(gOverType == 1){
canvas.drawBitmap(bmpBloodOver, null, dst, null);
canvas.drawText("GAME OVER!", canvas.getWidth()/8, canvas.getHeight()/3, whitePaint);
canvas.drawText("KILLS: " + kills, canvas.getWidth()/8, canvas.getHeight()/3+70, whitePaint);
canvas.drawText("SCORE: " + finalScore, canvas.getWidth()/8, canvas.getHeight()/3+140, whitePaint);
}
if (scoreNinja < 1){
ScoreNinjaAdapter scores = new ScoreNinjaAdapter(getContext() , "appid", "key" );
scores.show(finalScore, null, Integer.toString(finalScore));
scoreNinja++;
}
GameLoopThread.running=false;
}
我剪掉了与它无关的碎片。如果在scoreninja得分附近,那么就是要一次又一次地重新显示这些盒子。如果有人知道任何事情或任何想法帮助将不胜感激。感谢
以下是分数忍者网站btw http://scoreninja.appspot.com/#HowTo
答案 0 :(得分:0)
如果scoreninja是在线排行榜,请确保为您的应用启用了网络。
答案 1 :(得分:0)
如果你无法让ScoreNinja工作,请查看Swarm's Leaderboards,它提供了一个非常相似(简单,免费)的解决方案,而无需用户下载单独的应用程序让它工作:)