J'ai démarré un très petit projet Libgdx basé sur Scene2d. J'ai descendu la dernière version de LGDX. J'ai essayé de trouver une certaine imformation mais rien de clair. Le problème est que je reçois seulement un écran noir de la mort. Rien ne se passe J'ai suivi le code, avec les logs et je suis sûr que j'arrive à la méthode Draw dans mon Acteur sans résultat:Libgdx Acteur Scened2d La méthode Draw ne dessine rien
Merci d'avance.
public class ActorBall extends Actor implements Disposable {
private Texture ballTexture;
private TextureRegion ballTextureRegion;
public ActorBall() {
bolaTexture = new Texture("redball.png");
ballTextureRegion = new TextureRegion(ballTexture, 300,300);
setSize(300,300);
}
@Override
public void dispose(){
bolaTexture.dispose();
}
@Override
public void draw(Batch batch, float parentAlpha) {
Color col = getColor();
batch.setColor(col.r,col.g, col.b,col.a * parentAlpha);
Gdx.app.log("App","where are you");
batch.draw(ballTextureRegion,getX(),getY(),getOriginX(),
getOriginY(),getWidth(), getHeight(), getScaleX(), getScaleY(),getRotation());
}
@Override
public void act(float delta) {
super.act(delta);
}
}
Ma classe d'écran étendu de l'écran:
public class scene extends scenebase {
private final OrthographicCamera camera;
private MyGdxGame game ;
private Stage stage; // los Stages son inputprocessors
private ActorBall ball;
public scene(MyGdxGame game) {
super(game);
this.game = game;
camera = new OrthographicCamera();
camera.setToOrtho(false, 800, 480);
stage = new Stage(new ScreenViewport());
ball = new ActorBall();
ball.setPosition(0,0);
stage.addActor(ball);
}
@Override
public void render(float delta) {
// super.render(delta);
Gdx.gl.glClearColor(0,0,0.0f,1);
Gdx.gl.glClear (GL20.GL_COLOR_BUFFER_BIT);
camera.update();
// game.batch.setProjectionMatrix(camera.combined);
stage.draw();
stage.act();
}
@Override
public void resize(int width, int height) {
stage.getViewport().update (width,height);
}
}
et dernier mon jeu principal:
public class MyGdxGame extends Game {
private AssetManager manager;
private scene screenscene;
@Override
public void create() {
manager = new AssetManager();
manager.load("redball.png", Texture.class);
manager.finishLoading();
// Enter the loading screen to load the assets.
screenscene = new scene(this);
setScreen(screenscene);
}
@Override
public void render() {
super.render(); // This is very important!!!!!!!!
Gdx.gl.glClearColor(0, 0, 0.1f, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
}
public AssetManager getManager() {
return this.manager;
}
}
Honte à moi, vous avez raison, merci beaucoup! – daniel