Libgdx Actor Scened2d绘制方法不绘制任何内容
我在Scene2d中启动了一个非常小的Libgdx项目。我下载了LGDX的最新版本。我试图找到一些信息,但不清楚。 问题是我只得到了死亡的黑屏。什么也没发生 我已经按照代码和日志进行了操作,我确信我在Actor中绘制了方法,但没有结果: 先谢谢你Libgdx Actor Scened2d绘制方法不绘制任何内容,libgdx,draw,scene2d,Libgdx,Draw,Scene2d,我在Scene2d中启动了一个非常小的Libgdx项目。我下载了LGDX的最新版本。我试图找到一些信息,但不清楚。 问题是我只得到了死亡的黑屏。什么也没发生 我已经按照代码和日志进行了操作,我确信我在Actor中绘制了方法,但没有结果: 先谢谢你 public class ActorBall extends Actor implements Disposable { private Texture ballTexture; private TextureRegion ballTextureRe
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);
}
}
我的screen类从screen扩展而来:
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;
}
}
这将首先渲染所有内容,然后清除屏幕。您需要先清除它,然后进行渲染
这将首先渲染所有内容,然后清除屏幕。您需要先清除它,然后进行渲染
@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);
}