在libgdx中具有奇怪行为的堆栈参与者的垂直组
还有一个libgdx组问题。我试图覆盖图像演员与滑块。滑块的高度是55,下面是bgImage,它的高度也应该是55。我正在使用这个代码。目标是实现完全覆盖,因为顶部的滑块是半透明的。问题是bgImage的高度与滑块(55)不同,即使我使用在libgdx中具有奇怪行为的堆栈参与者的垂直组,libgdx,Libgdx,还有一个libgdx组问题。我试图覆盖图像演员与滑块。滑块的高度是55,下面是bgImage,它的高度也应该是55。我正在使用这个代码。目标是实现完全覆盖,因为顶部的滑块是半透明的。问题是bgImage的高度与滑块(55)不同,即使我使用setHeight()方法设置它。我在render方法中跟踪了bgImage的高度。结果很有趣。仅在第一次调用render时,bgImage的高度为55,在所有后续的渲染调用中,bgImage的高度为140,因此弄乱了我的用户界面。高度变化的原因是什么?解决方法
setHeight()
方法设置它。我在render方法中跟踪了bgImage的高度。结果很有趣。仅在第一次调用render时,bgImage的高度为55,在所有后续的渲染调用中,bgImage的高度为140,因此弄乱了我的用户界面。高度变化的原因是什么?解决方法是什么?谢谢你的帮助
Texture bgTexture=new Texture("underImage.png");
bgImage= new Image(new TextureRegionDrawable(new TextureRegion(bgTexture)));
bgImage.setColor(Color.BLUE);
bgImage.setWidth(hueSlider.getStyle().background.getMinWidth());
bgImage.setPosition(0, 0);
bgImage.setHeight(55);
bgImage.setBounds(0,0,hueSlider.getWidth(),55);
Texture overlayTexture=new Texture("gradientOverlay3.png");
Slider.SliderStyle ss2=new Slider.SliderStyle();
ss2.background= new TextureRegionDrawable(new TextureRegion(overlayTexture));
ss2.knob= new TextureRegionDrawable(new TextureRegion(th));
brightnessSlider=new Slider(1,100,1,false,ss2);
stack=new Stack();
stack.add(bgImage);
stack.add(brightnessSlider);
verticalGroup.addActor(hueSlider);
verticalGroup.addActor(stack);
table.add(verticalGroup).width(365).fillX();
stage.addActor(table);
编辑:滑块位于顶部,其高度与我用作背景的图像的高度相同,即55
这是render方法的实现。参见第二个sout语句。在那一点上,高度已经是140。非常奇怪
public void render () {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
System.out.println("height" + bgImage.getHeight());
camera.update();
batch.begin();
batch.end();
stage.act(Gdx.graphics.getDeltaTime());
stage.draw();
System.out.println("height" + bgImage.getHeight());
}