0
.setRotation()或.rotateBy()函數適用於其他Actor類,但不適用於ProgressBar對象。libgdx ProgressBar旋轉不起作用
我在這裏錯過了什麼嗎?
public void create() {
stage = new Stage(new ScreenViewport());
Gdx.input.setInputProcessor(stage);
skin = new Skin();
Pixmap pixmap = new Pixmap(10, 10, Pixmap.Format.RGBA8888);
pixmap.setColor(Color.WHITE);
pixmap.fill();
skin.add("white", new Texture(pixmap));
TextureRegionDrawable textureBar = new TextureRegionDrawable(new TextureRegion(new Texture(Gdx.files.internal("blue.jpg")))); // Just a blue square
ProgressBar.ProgressBarStyle barStyle = new ProgressBar.ProgressBarStyle(skin.newDrawable("white", Color.DARK_GRAY), textureBar);
progressBar = new ProgressBar(0,10,0.5f,false, barStyle);
progressBar.setPosition(10, 10);
progressBar.setSize(290, progressBar.getPrefHeight());
progressBar.setAnimateDuration(2);
progressBar.setValue(5);
progressBar.setRotation(45); // Should rotate the bar
stage.addActor(progressBar);
}
另外,如果我叫.getRotation()我得到什麼我將它以前,所以我不知道這裏有什麼問題。
進度條本身的設計本身水平和垂直渲染和不允許通用輪替](見https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/ GDX /場景/ scene2d/UI/ProgressBar.java#L129)。試過把它放在一些密封容器中,然後旋轉它? – cfrick
大多數UI小部件不支持任意旋轉,因爲它們依靠OpenGL剪裁進行裁剪。 – Tenfour04
@cfrick啊,必須這樣。當我回家時我會嘗試。 – user865881