0
我正在使用Java和Libgdx scene2d進行遊戲。這是我在構造函數代碼:Libgdx scene2d設置邊界太小時觸摸板會「倒置」
atlas = new TextureAtlas("gfx/button.pack");
skin = new Skin(atlas);
TouchpadStyle touchpadStyle = new TouchpadStyle();
touchpadStyle.background = skin.getDrawable("button.up");
touchpadStyle.knob = skin.getDrawable("button.down");
touchpadStyle.knob.setLeftWidth(20);
touchpadStyle.knob.setRightWidth(20);
touchpadStyle.knob.setBottomHeight(20);
touchpadStyle.knob.setTopHeight(20);
controller = new Touchpad(1f, touchpadStyle);
addActor(controller);
然後在調整大小()我做了以下內容:
public void resize(float width, float height) {
setViewport(width, height, true);
//TODO setting the bounds too small breaks the touchpad?
controller.setBounds(width*1f/16, height*1f/9, width/7f, width/7f);
}
的問題是,當我調整屏幕(我運行桌面版)到足夠小的寬度,觸摸板會以某種方式「倒轉」。看起來背景是在頂部,並且在我觸摸觸摸板時正在移動。另外,它給出的方向(百分比X,百分比Y)是它應該是的負面因素。
爲什麼會發生這種情況,我該如何預防它?
我現在這樣做。當我使屏幕變得很寬而且高度很窄時,它肯定會起作用,儘管當hud元素遠離邊界時會變得很愚蠢。但我想這對移動屏幕分辨率和桌面應用來說都是可以的,他們甚至可以調整窗口大小以適應這種分辨率。所以,現在觸摸板正在工作,但我仍然想知道當我調整它太小時,它是什麼打破了它... – ploosu2