所以我有分數忍者和運行在我的應用程序。它似乎編碼正確。當我玩完遊戲並獲得分數時,彈出框並提示我輸入我的名字等,然後進入另一個顯示列表的小屏幕。輸入並提交後,然後退出第二個小盒子,我得到高分,它不顯示任何高分。然後當我再打一輪時,我再次獲得高分,另一個得分不在名單上。想知道是否有人使用過它並且知道很多。它是否顯示並保持高分,直到應用程序發佈?或者,也許我編寫了錯誤的東西,並沒有保存它或什麼。如果你想查看,這裏是我的代碼中的位置。難道忍者必須得到釋放才能保存得分嗎?
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(new GameView(this));
// scoreNinjaAdapter =新ScoreNinjaAdapter( //上下文中, 「APPID」, 「鍵」);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
scoreNinjaAdapter.onActivityResult(requestCode, resultCode, data);
}
void onGameOver(){
//
}
那的瑣事類導致表面視圖。我已經嘗試過在代碼和上面註釋過的東西。我也有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
讓我知道如果你設法讓ScoreNinja工作,我一直有同樣的問題。 – Allen 2011-10-16 19:42:36