Opengl es libgdx样板代码无法工作
我已经下载了最新版本的libgdx 1.0.1(我以前有0.9.8),版本3设置/项目创建向导生成的核心代码完全不同-它不处理批处理或纹理,没有相机或定位设置,运行时加载的图像不会显示在正确的位置,可能是因为摄像机没有安装好 如果我将向导版本2中的代码放回原处,一切都会正常工作 怎么了?以下是新旧代码生成的代码: 以下是新代码: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
@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)代码>。然后,我希望看到纹理,拉伸以适合窗口的右上象限。