Я сейчас пытаюсь показать счет, который требует динамического изменения текста в игре.Я искал вокруг и обнаружил, что в большинстве случаев люди используют XML-макет для текста.Моя проблема в том, что я вообще не использую XML для игры, потому что все это растровая графика.Любые советы или предложения для моей ситуации?
Вот метод рисования, чтобы нарисовать все
public void render(Canvas canvas){
Bitmap bitmap;
Graphics.Coordinate coords;
canvas.drawBitmap(bgBitmap, 0, 0, null);
canvas.drawBitmap(closeBtnBitmap, 700, 0, null);
canvas.drawBitmap(groundBitmap, 0, 315, null);
canvas.drawBitmap(petBitmap, petX, petY, null);
for(Graphics pics : coins){
bitmap = pics.getBitmap();
coords = pics.getCoord();
canvas.drawBitmap(bitmap, coords.getX(), coords.getY(), null);
}
canvas.drawBitmap(scoreBitmap, 300, 20, null);
canvas.drawText(scoreString, 300, 20, null); //change null to paintObj
}
Вот метод обновления счета
private void updateScore(int score){
initScore += score;
totalScore = initScore;
scoreString = Integer.toString(totalScore);
}
ВозвращаетNullPointerException в android.graphics.Canvas.drawText (собственный метод).Я попытался войти в систему "ScoreString", и он показывает правильно.
Редактировать: Решено, исключение NullPointerException, вызванное нулевым объектом рисования.Просто создайте объект рисования Paint paintObj = new Paint();
и установите объект paintObj.setTextSize(textSize)
и paintObj.setColor(Color.WHITE);