libgdx avec scene2d et l'acteur n'est pas l'affichage du sprite
Je suis du test de Libgdx et Scene2d. Je m'attendais à ce petit programme pour afficher un logo, mais il attire un écran noir. Aucune idée de ce qui me manque?
public class MyGame implements ApplicationListener {
private Stage stage;
@Override
public void create() {
stage = new Stage(800, 800, false);
Gdx.input.setInputProcessor(stage);
MyActor actor = new MyActor();
stage.addActor(actor);
}
@Override
public void render() {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
stage.act(Gdx.graphics.getDeltaTime());
stage.draw();
}
@Override
public void dispose() {
stage.dispose();
}
@Override
public void resize(int width, int height) {
stage.setViewport(800, 800, false);
}
}
public class MyActor extends Actor {
Sprite sprite;
public MyActor() {
sprite = new Sprite();
sprite.setTexture(new Texture("data/libgdx.png"));
setWidth(sprite.getWidth());
setHeight(sprite.getHeight());
setBounds(0, 0, getWidth(), getHeight());
setTouchable(Touchable.enabled);
setX(0);
setY(0);
}
@Override
public void draw(SpriteBatch batch, float parentAlpha) {
Color color = getColor();
batch.setColor(color.r, color.g, color.b, color.a * parentAlpha);
batch.draw(sprite, getX(), getY());
}
}
La Force de l'alpha (4e paramètre) à 1.0 f dans
Changé à
batch.setColor()
et voir si cela aide. Je soupçonne que la couleur par défaut est tous les zéros.Changé à
batch.setColor(color.r, color.g, color.b, 1.0f)
, mais même résultat.OriginalL'auteur Roar Skullestad | 2013-02-19
Vous devez vous connecter pour publier un commentaire.
Construire l'image-objet avec la texture et l'utilisation Gdx.fichier.interne:
De toute façon, si vous voulez juste de l'affichage et de la loi sur les images, vous préférerez peut-être utiliser la photo de classe:
setTexture(new Texture(Gdx.files.internal("data/libgdx.png")));
travail?Plonger dans le code source, il semble que l'utilisation du constructeur de Sprite avec une Texture aussi l'ensemble de la région de la texture, tandis que tout simplement la mise en setTexture n'est pas assez et vous devez utiliser setRegion.
OriginalL'auteur itamarb
J'ai été d'obtenir un écran noir trop jusqu'à ce que j'ai défini explicitement
Actor
hauteur (setHeight(height)
) et la largeur (setWidth(width)
) à laSprite
's valeurs.OriginalL'auteur Raf
OriginalL'auteur David Martin
Votre problème est probablement cette ligne, dans la méthode draw
Le code que j'ai vu lors de l'élaboration des sprites est
OriginalL'auteur avanderw