StretchViewPort无法正常工作

时间:2014-11-01 15:04:49

标签: java libgdx

我使用的是虚拟视口尺寸855 * 540

我的代码就像

在gamePlay Screen中

 public void show() { 
    gameStage=new GameStage();
   //Constants.VIEWPORT_WIDTH=855;    Constants.VIEWPORT_HEIGHT=540;
    gameStage.setViewport(new FillViewport(Constants.VIEWPORT_WIDTH, Constants.VIEWPORT_HEIGHT));
    hudStage=new HudStage();
    hudStage.setViewport(new StretchViewport(Constants.VIEWPORT_WIDTH, Constants.VIEWPORT_HEIGHT));

}

 public void resize(int width, int height) {    
    Gdx.app.log("Gameplay", "in gameplay resize");
    gameStage.getViewport().update(width, height, false);
    hudStage.getViewport().update(width, height, false);            
}

在HUdStage中

 public  HudStage(GameStage controller) {
    //virtual size
    int width=855;
    int height=540;

    Drawable imageUpAK=new TextureRegionDrawable(atlas.findRegion("ak_IconEnable"));

    ImageButton topButton= new ImageButton(imageUpAK, imageUpAK);
    topButton.setPosition(0,height*.8f);
    addActor(topButton);

    ImageButton buttonBottom= new ImageButton(imageUpAK, imageUpAK);    
    buttonBottom.setPosition(0,0);
    addActor(buttonBottom); 

    Label resolution=new Label(Gdx.graphics.getWidth()+"x"+Gdx.graphics.getHeight(), style);
    resolution.setAlignment(Align.right);
    resolution.setPosition(0,height*.45f);
    addActor(resolution);
 }

我得到的回应以不同分辨率的图像显示。

我的问题: - 我得到了理想的结果吗?如果不是我做错了。我该怎么做才能避免切割元素。

我希望hud元素的位置应该像其他scrren分辨率中的 My Virtual Scrrensize,(* 855X580)

enter image description here

提前致谢。

0 个答案:

没有答案