Функции .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() Я получаю все, что я установил его ранее, так что я не уверен, что проблема здесь.
Сам индикатор предназначен для отображения себя по горизонтали и по вертикали и не позволяет родовое roation (см https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/ GDX/сцены/scene2d/щ/ProgressBar.java # L129). Попробовали ли вы вставить его в какую-то сдерживание и вместо этого повернуть? – cfrick
Большинство виджета пользовательского интерфейса не поддерживают произвольное вращение, потому что они полагаются на ножницы OpenGL для обрезки. – Tenfour04
@cfrick ahh, который должен быть этим. Я попробую, когда вернусь домой. – user865881