Итак, у меня есть Ninja Score и работает в моем приложении. Кажется, он правильно закодирован. Когда я играю в игру и получаю оценку, появляется всплывающее окно и подсказывает мне ввести мое имя и т.д., А затем он переходит на другой маленький экран, на котором отображается список. После ввода и отправки, а затем выхода из второго ящика, и я получил высокие оценки, он не отображает рекорды. Затем, когда я играю в другой раунд, я снова получаю высокий балл, а другой балл не входит в список. Интересно, кто-нибудь использовал это и много знает об этом. Не показывает ли он и отслеживает высокие баллы, пока приложение не будет выпущено? Или, может быть, я закодировал что-то не так, и это не спасло его или что-то в этом роде. Вот где он находится в моем коде, если вы хотите его увидеть.
@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 есть, чтобы держать ondraw от повторного отображения ящиков снова и снова. Если кто-нибудь знает что-нибудь об этом или какие-то идеи помогут оценить. Благодаря
Вот сайт Ninja Score btw http://scoreninja.appspot.com/#HowTo
Если вы не можете заставить ScoreNinja работать, посмотрите Swarm Leaderboards, которые предоставляют очень похожее (простое, бесплатное) решение, не требуя пользователю загрузить отдельное приложение, чтобы оно работало:)
Если scoreninja - это онлайн-доска лидеров, убедитесь, что для вашего приложения включена поддержка сети.