我使用的是虚拟视口尺寸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)。
提前致谢。