В некоторых конкретных случаях актер после добавления на сцену становится черной поверхностью, а не фактической текстурой. В других случаях я мог загрузить актера в начале, а затем установить его невидимым, и когда мне это нужно, я мог бы установить его видимым. Но я не хочу этого делать.libgdx/android: актер становится черным после добавления на сцену
Так вот код визуализации():
public void render() {
Gdx.gl.glClearColor(backgroundColour.r, backgroundColour.g, backgroundColour.b,
backgroundColour.a);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
stage.act();
stage.draw();
}
и где я пытаюсь добавить изображение на сцену
cardImage.setPosition(x, y);
cardImage.setWidth(ViewConstants.scalingWidthCard * ViewConstants.widthOneSpace);
cardImage.setHeight(ViewConstants.scalingHeightCard * ViewConstants.heightOneSpace);
stage.addActor(cardImage);
где cardImage имеет класс ImageWrapper
(ImageWrapper расширяет изображение и просто содержит еще несколько полей, методы не были перезаписаны/изменены каким-либо образом). И вот код, как я загружаю текстуру:
private ImageWrapper loadActorForCardAndSaveInMap(Card card) {
String textureString = loader.getCardTextureName(card);
ImageWrapper textureForCard = loader.getImageForPath("cards/" + textureString + ".png");
// irrelevant for libgdx, but I'll post it, so you see what happens
faceUpCards.put(textureString, textureForCard);
return textureForCard;
}
[...]
private ImageWrapper getImageForPath(String path) {
try {
return new ImageWrapper(new Texture(Gdx.files.internal(path)));
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
Все работает нормально в большинстве случаев, но не во всех.
Я также попытался перезагрузить сцену с
Group root = stage.getRoot();
stage.clear();
stage.setRoot(root);
, как указано here. Но это не устраняет проблему.
Обновление: я обнаружил, что текущая версия 1.9.5, изменила это, но ни то, ни другое, кроме кода, где я устанавливаю корень, ничего не меняет проблему. – Isabella
показать мне код вашего метода drawImage класса? – Aryan
Заголовок вопроса не соответствует проблеме, описанной в конце (setRoot неизвестен). в чем именно проблема?: Вы получаете ошибку компиляции? Ошибка выполнения или что-то еще? – munyul