2016-07-08 4 views
0

Я начал очень маленький проект Libgdx, основанный на Scene2d. Я опустил последнюю версию LGDX. Я попытался найти какую-то информацию, но ничего не понял. Проблема в том, что я получаю только черный экран смерти. Ничего не происходит Я следил за кодом, с журналами, и я уверен, что я прихожу к методу Draw в своем Актере без результатов:Libgdx Актер Scened2d Метод рисования ничего не нарисовал

Спасибо заранее.

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); 
} 
} 

Мой класс экран простиралась от экрана:

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); 

} 
} 

И последний мой основной игры:

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; 
} 
} 

ответ

3
@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); 
} 

Что это делает в первую вынести все, а затем очистить экран. Вы должны сначала очистить его, а затем визуализировать.

+0

Позор на меня, вы правы, большое вам спасибо! – daniel