libGDX 使用 Stage 和 Actor 在桌面和 Android 手机上产生不同的摄像机角度。
以下是展示问题的图片:http: //brandonyuh.minus.com/mFpdTSgN17VUq
在桌面版上,图像几乎占据了整个屏幕。在 Android 手机上,它只占用一点屏幕。
这是代码(不是我的实际项目,但我隔离了问题):
package com.me.mygdxgame2;
import com.badlogic.gdx.*;
import com.badlogic.gdx.graphics.*;
import com.badlogic.gdx.graphics.Texture.TextureFilter;
import com.badlogic.gdx.graphics.g2d.*;
import com.badlogic.gdx.scenes.scene2d.*;
public class MyGdxGame2 implements ApplicationListener {
private Stage stage;
public void create() {
stage = new Stage();
stage.addActor(new ActorHi());
}
public void render() {
Gdx.gl.glClearColor(0, 1, 0, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
stage.draw();
}
public void dispose() {}
public void resize(int width, int height) {}
public void pause() {}
public void resume() {}
public class ActorHi extends Actor {
private Sprite sprite;
public ActorHi() {
Texture texture = new Texture(Gdx.files.internal("data/hi.png"));
texture.setFilter(TextureFilter.Linear, TextureFilter.Linear);
sprite = new Sprite(new TextureRegion(texture, 0, 0, 128, 128));
sprite.setBounds(0, 0, 300.0f, 300.0f);
}
public void draw(SpriteBatch batch, float parentAlpha) {
sprite.draw(batch);
}
}
}
hi.png 包含在上面的链接中
非常感谢您回答我的问题。我花了3天时间试图弄清楚。