Это одна из самых странных вещей, которые когда-либо случались в LibGDX для меня. Я использовал эти точные спецификации для всех моих других государств в своей игре, но под разными именами, и все они прекрасно работают, за исключением моего ShopState, который вообще ничего не сделает! Вот мой код для класса:Spritebatch ничего не рисует LibGDX
public class ShopState extends State{
private Texture bg;
private Sprite shopLayout;
private OrthographicCamera shopCam;
Viewport viewport;
public ShopState(GameStateManager gsm) {
super(gsm);
shopLayout = new Sprite(new Texture(Gdx.files.internal("shopLayout.png")));
bg = new Texture("bg2.png");
shopCam = new OrthographicCamera();
viewport = new StretchViewport(720, 1280, shopCam);
viewport.apply();
shopCam.position.set(shopCam.viewportWidth/2, shopCam.viewportHeight/2, 0);
shopLayout.setPosition(shopCam.viewportWidth/2 - shopLayout.getWidth()/2, shopCam.viewportHeight/2 - shopLayout.getHeight()/2);
shopLayout.setSize(650, 1100);
}
@Override
public void handleInput() {
}
@Override
public void update(float dt) {
handleInput();
}
@Override
public void resize(int width, int height){
viewport.update(width, height);
shopCam.position.set(shopCam.viewportWidth/2, shopCam.viewportHeight/2, 0);
}
@Override
public void render(SpriteBatch sb) {
shopCam.update();
sb.setProjectionMatrix(shopCam.combined);
sb.begin();
sb.draw(bg, 0 , 0, shopCam.viewportWidth, shopCam.viewportHeight);
shopLayout.draw(sb);
sb.end();
}
@Override
public void dispose() {
bg.dispose();
shopLayout.getTexture().dispose();
}
}
Что я делаю неправильно? Все кажется прекрасным, но все, что я получаю, когда я нажимаю кнопку «Магазин», дает мне черный экран!
что такое размер магазина по умолчаниюLayout.png ?? – Aryan
Имеет ли это значение? Я все равно изменил его размер. – vladutelu
перед установкой нового размера вы используете его для установки позиции shopLayout. – Aryan