java - 在 libgdx 游戏中显示分数

标签 java android libgdx 2d-games

所以我无法在我创建的游戏中显示分数。我想知道我该怎么做?这是我到目前为止所拥有的:

package com.catgame.game;

import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.audio.Music;
import com.badlogic.gdx.audio.Sound;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;

public class CatGame extends ApplicationAdapter implements InputProcessor {
SpriteBatch batch;
Sprite cat;
OrthographicCamera camera;
final float CAT_WIDTH = 0.75f;
final float CAT_HEIGHT = 0.50f;
Sound meow;

int score = 0;
String scorePrint;
BitmapFont scoreFont;


@Override
public void create () {
    batch = new SpriteBatch();
    cat = new Sprite(new Texture(Gdx.files.internal("Cat.png")));
    cat.setSize(CAT_WIDTH,CAT_HEIGHT);
    scoreFont = new BitmapFont(Gdx.files.internal("score.fnt"));
    float aspectRatio = (float)Gdx.graphics.getHeight()/
            (float)Gdx.graphics.getWidth();
    scoreFont.getData().setScale(0.5f);


    camera = new OrthographicCamera(CAT_HEIGHT * aspectRatio,
                                    CAT_HEIGHT);
    camera.position.set(CAT_WIDTH/2,CAT_HEIGHT/2,0);

    meow = Gdx.audio.newSound(Gdx.files.internal("Meow.wav"));

    Gdx.input.setInputProcessor(this);

    scorePrint = "Hello";


}

@Override
public void render () {
    Gdx.gl.glClearColor(0, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    camera.update();
    batch.begin();
    batch.setProjectionMatrix(camera.combined);
    //cat.draw(batch);
    scoreFont.draw(batch,scorePrint,camera.position.x,camera.position.y);
    batch.end();
}

我试过 scoreFont.draw() 方法,但它似乎不起作用。不知道为什么,也许我的定位是错误的,因为我有正射相机之类的东西。但是当我尝试使用绘制字体时,什么也没有出现。下图中的红色圆圈显示了我希望得分的位置。

http://imgur.com/gallery/ywFF6SZ/new

最佳答案

在渲染方法中绘制字体并更改字体颜色或背景颜色。这可能是因为黑色背景颜色与 BitmapFont 颜色匹配。

关于java - 在 libgdx 游戏中显示分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34983967/

相关文章:

java - Solr数据配置中如何从多表中获取数据

使用 MockContext 的 Android ApplicationTestCase

java - 如何在Android项目中包含Java项目?

java - 从 libgdx 中的集合中检测触摸对象(移动)的最佳方法

java - 使用 Apache POI 对 .XLS Excel 文件进行密码保护

java - 我应该使用什么 Swing 组件来显示歌曲列表和歌曲属性?

java - 为什么我在关闭 GDX 游戏窗口后会收到错误消息?

android - 在异常处理程序(java)中使程序崩溃

java - Google Play 控制台显示 java.lang.IllegalStateException 错误

php - GCM curl 操作超时