首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ExtendViewport的Java libGDX黑条

使用ExtendViewport的Java libGDX黑条
EN

Stack Overflow用户
提问于 2017-04-12 16:46:59
回答 1查看 947关注 0票数 0

根据documentation的说法,ExtendViewport应该扩展视图并保持宽高比,但是每当我尝试实现这个viewPort时,我都会在手机屏幕的一侧看到两个条。

(这是示例背景图像,上面有一些文本和按钮,以检查拉伸程度)。

代码:

代码语言:javascript
复制
 public class Overlap2d extends Game {
public static  float ASPECT_RATIO ;
public static final int GAME_SCREEN_WIDTH = 40;
public static final int GAME_SCREEN_HEIGHT = 80;

@Override
public void create () {
    ASPECT_RATIO=(float)Gdx.graphics.getWidth()/(float)Gdx.graphics.getHeight() ;
    ScreenManager.getScreenManager().init(this);
    ScreenManager.getScreenManager().showScreen( ScreenName.MAIN_MENU );
}}

public abstract class AbstractScreen extends Stage implements Screen {

public AbstractScreen() {
    super(new ExtendViewport(GAME_SCREEN_WIDTH,GAME_SCREEN_HEIGHT,new OrthographicCamera()));
}
public abstract void buildStage();
@Override
public void render(float delta) {

    Gdx.gl.glClearColor(0, 1, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    super.act(delta);
    super.draw();
}
@Override
public void resize(int width, int height) {
getViewport().update(width,height);
}
@Override
public void show() {
    Gdx.input.setInputProcessor(this);
}
@Override
public void resume() {}
@Override
public void pause() {}
@Override
public void hide() {}}



public class MenuScreen extends AbstractScreen{
private Texture txtrBg;
public MenuScreen() {
    super();
    txtrBg   = new Texture( Gdx.files.internal("test.png") );
}

@Override
public void buildStage() {

    getCamera().position.set(GAME_SCREEN_WIDTH / 2, GAME_SCREEN_HEIGHT / 2, 0);
    Image bg = new Image(txtrBg);
    bg.setSize(GAME_SCREEN_WIDTH,GAME_SCREEN_HEIGHT);
    bg.setPosition(0,0);
    addActor(bg);
}

@Override
public void dispose() {
    super.dispose();
    txtrBg.dispose();

}}
EN

回答 1

Stack Overflow用户

发布于 2017-04-14 17:05:46

代码语言:javascript
复制
public static final int GAME_SCREEN_WIDTH = 40;
public static final int GAME_SCREEN_HEIGHT = 80;

您使用的宽度和高度比例为1:2,但只有视图设备适合此比例,因此您为什么不尝试48和80作为视口宽度和高度。

问题几乎是一样的,所以解释也可以适用于这里

https://stackoverflow.com/a/43398153/3445320

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43364635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档