У меня проблема с libgdx. Я хочу сделать простой пример о масштабировании, уменьшении, но орфографическая камера не делает ничего.Libgdx, OrthographicCamera не работает (увеличение, уменьшение)
Мои коды:
public class HitTheGreenBlock extends ApplicationAdapter {
public static int WIDTH, HEIGHT;
SpriteBatch batch;
OrthographicCamera orthographicCamera;
private StateManager stateManager;
@Override
public void create() {
WIDTH = Gdx.graphics.getWidth();
HEIGHT = Gdx.graphics.getHeight();
batch = new SpriteBatch();
orthographicCamera = new OrthographicCamera();
orthographicCamera.translate(WIDTH /20 , HEIGHT/20);
orthographicCamera.update();
stateManager = new StateManager();
}
@Override
public void render() {
Gdx.gl.glClearColor(1, 0.78f, 0.25f, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
stateManager.update(Gdx.graphics.getDeltaTime());
stateManager.draw(batch);
}
}
И класс, который рисует изображение на экране:
public class PlayState extends MainState{
public PlayState(StateManager stateManager){
super(stateManager);
}
private int width,height;
public void init() {
width = 2 * HitTheGreenBlock.WIDTH/3;
height = width;
ImageLoader.load();
}
public void update(float dt) {
}
public void draw(SpriteBatch spriteBatch) {
spriteBatch.begin();
spriteBatch.draw(ImageLoader.greenRegion, (Gdx.graphics.getWidth() - width)/2, Gdx.graphics.getHeight()/5, width, height);
spriteBatch.end();
}
public void handleInput() {
}
public void dispose() {
}
}
Я посылаю SpriteBatch от HitTheGreenBlock.class к PlayState.class.
Я изменил эту строку:
orthographicCamera.translate(WIDTH , HEIGHT);
этой линии:
orthographicCamera.translate(WIDTH /20 , HEIGHT/20);
Но orthographicCamera делать ничего и изображения размер не меняется.
В чем проблема с моим кодом?
* У меня есть еще 3 класса, если это необходимо, я могу добавить их тоже.
Я добавил эту строку, но на этот раз ничего не отображается на экране, кроме цвета фона. –
Я использовал setOrtho(); и решена проблема. –
Хорошо. Обязательно всегда устанавливайте матрицу проекции всякий раз, когда вы рисуете вещи. Очень важно. – Wyatt