Opengl es libgdx样板代码无法工作

Opengl es libgdx样板代码无法工作,opengl-es,libgdx,Opengl Es,Libgdx,我已经下载了最新版本的libgdx 1.0.1(我以前有0.9.8),版本3设置/项目创建向导生成的核心代码完全不同-它不处理批处理或纹理,没有相机或定位设置,运行时加载的图像不会显示在正确的位置,可能是因为摄像机没有安装好 如果我将向导版本2中的代码放回原处,一切都会正常工作 怎么了?以下是新旧代码生成的代码: 以下是新代码: @Override public void create () { batch = new SpriteBatch(); img = new T

我已经下载了最新版本的libgdx 1.0.1(我以前有0.9.8),版本3设置/项目创建向导生成的核心代码完全不同-它不处理批处理或纹理,没有相机或定位设置,运行时加载的图像不会显示在正确的位置,可能是因为摄像机没有安装好

如果我将向导版本2中的代码放回原处,一切都会正常工作

怎么了?以下是新旧代码生成的代码: 以下是新代码:

    @Override
public void create () {
    batch = new SpriteBatch();
    img = new Texture("badlogic.jpg");
}

@Override
public void render () {
    Gdx.gl.glClearColor(1, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    batch.begin();
    batch.draw(img, 0, 0);
    batch.end();
}
这是旧代码

private OrthographicCamera camera;
private SpriteBatch batch;
private Texture texture;
private Sprite sprite;

@Override
public void create() {      
    float w = Gdx.graphics.getWidth();
    float h = Gdx.graphics.getHeight();

    camera = new OrthographicCamera(1, h/w);
    batch = new SpriteBatch();

    texture = new Texture(Gdx.files.internal("badlogic.jpg"));
    texture.setFilter(TextureFilter.Linear, TextureFilter.Linear);

    TextureRegion region = new TextureRegion(texture, 0, 0, 512, 275);

    sprite = new Sprite(region);
    sprite.setSize(0.9f, 0.9f * sprite.getHeight() / sprite.getWidth());
    sprite.setOrigin(sprite.getWidth()/2, sprite.getHeight()/2);
    sprite.setPosition(-sprite.getWidth()/2, -sprite.getHeight()/2);
}

@Override
public void dispose() {
    batch.dispose();
    texture.dispose();
}

@Override
public void render() {      
    Gdx.gl.glClearColor(1, 1, 1, 1);
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

    batch.setProjectionMatrix(camera.combined);
    batch.begin();
    sprite.draw(batch);
    batch.end();
}

“正确地点”是一个相对术语。我认为样板文件只在那里,这样你就可以很快看到你是否已经启动并运行了。也许他们决定简化它。是的,如果不设置摄像头,尺寸将不同(但不一定不正确,只是取决于您的尺寸方案)。我认为他们至少应该处理纹理和批处理,因为这对新手来说可能是一个不好的教训,因为我很欣赏这些变化,因为当我开始新项目时,可以删除的内容更少。嗯。你的意思是,他们可能会删除代码,因为这只是一个“hello world”,但忘了清理,所以示例图像不会显示在屏幕上?我之所以这么说,是因为我是新手,在新向导下载或libgdxwiki上没有对此的解释,我仍然使用1.0.0。看着上面的锅炉板,在我看来,你可能只看到了纹理的一个像素。尝试更改批处理绘图(img,0,0)
批量绘图(img,0,0,0.5f,0.5f)。然后,我希望看到纹理,拉伸以适合窗口的右上象限。