Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在libgdx中具有奇怪行为的堆栈参与者的垂直组_Libgdx - Fatal编程技术网

在libgdx中具有奇怪行为的堆栈参与者的垂直组

在libgdx中具有奇怪行为的堆栈参与者的垂直组,libgdx,Libgdx,还有一个libgdx组问题。我试图覆盖图像演员与滑块。滑块的高度是55,下面是bgImage,它的高度也应该是55。我正在使用这个代码。目标是实现完全覆盖,因为顶部的滑块是半透明的。问题是bgImage的高度与滑块(55)不同,即使我使用setHeight()方法设置它。我在render方法中跟踪了bgImage的高度。结果很有趣。仅在第一次调用render时,bgImage的高度为55,在所有后续的渲染调用中,bgImage的高度为140,因此弄乱了我的用户界面。高度变化的原因是什么?解决方法

还有一个libgdx组问题。我试图覆盖图像演员与滑块。滑块的高度是55,下面是bgImage,它的高度也应该是55。我正在使用这个代码。目标是实现完全覆盖,因为顶部的滑块是半透明的。问题是bgImage的高度与滑块(55)不同,即使我使用
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());
    }