Comment dessiner un bitmapfont sur une scène dans libgdx?
C'est ma méthode de rendu sur mon niveau dans mon Libgdx jeu. Je suis en train de dessiner un BitmapFont sur mon niveau en haut à droite du coin, mais tout ce que je reçois est un tas de cases blanches.
@Override
public void render(
float delta ) {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
this.getBatch().begin();
//myScore.getCurrent() returns a String with the current Score
font.draw(this.getBatch(), "Score: 0" + myScore.getCurrent(), 600, 500);
stage.act(Gdx.graphics.getDeltaTime());
stage.draw();
this.getBatch().end();
}
Je voudrais ajouter le score de police dans une sorte de comédien et ensuite faire une scène.addActor(myScore) mais je ne sais pas comment faire.
J'ai suivi Steigert du tutoriel pour créer le jeu principal de la classe qui instancie la scène, la police, dans le AbstractLevel classe qui est ensuite prolongée par ce niveau.
Jusqu'à présent, je ne suis pas à l'aide personnalisée de police, juste le vide BitmapFont(); à utiliser par défaut la police Arial. Plus tard, je voudrais utiliser mon propre plus de fantaisie police.
OriginalL'auteur Peter Poliwoda | 2012-11-09
Vous devez vous connecter pour publier un commentaire.
Essayez de déplacer la police.dessiner d'après la scène.tirage au sort. Ajoutant à un acteur serait très simple, il suffit de créer une nouvelle classe et d'Étendre Acteur Comme tels
Espérons que cette aide!
Edit 1:
Essayez également
System.out.println(myScore.getCurrentScore());
Juste pour s'assurer que ce n'est pas la question. Vous pouvez juste obtenir le retour d'un flotteur ou un int et quand vous ne le"Score:"+
peu, ça va le transformer en une chaîne de caractères elle-mêmeOriginalL'auteur LiamJPeters
Bien, dans ce cas, vous pouvez avoir besoin d'appeler
this.getBatch().end
premier. Comme ceci:Je ne sais pas pourquoi, mais ça fonctionne pour moi.
OriginalL'auteur junfeng
J'ai résolu le même problème avec les cases blanches par la fermeture de lot avant de commencer l'étape de dessin. C'est parce que la scène.draw() démarre un autre lot et annule le précédent lot pas terminé avec la fin().
Donc, dans l'exemple actuel, je voudrais déplacer .getBatch().fin() avant l'étape de dessin:
OriginalL'auteur rydzyk-fizyk
Si vous utilisez Scene2D essayez d'utiliser la scène et les acteurs. Il n'est pas nécessaire d'écrire de longs codes, vérifier pour le MTX plugin qui est très facile à utiliser. Vous pouvez créer une super expérience utilisateur
http://moribitotechx.blogspot.co.uk/
OriginalL'auteur Vishal Kumar