Stage と Actor を使用する libGDX は、デスクトップと Android Phone で異なるカメラ アングルを生成します。
ここに問題を示す写真があります: 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日間を費やしました。