Хобрук: Ваш путь к мастерству в программировании

Новое в libgdx; глючная графика при рисовании сцены с помощью scene2D

Я пытаюсь отобразить простой текст для пользовательского интерфейса меню с помощью scene2D, но по какой-то причине здесь ничего не отображается. Экран отображает чистый черный цвет.

public class ScreenMenu implements Screen {

MyGame myGame;
SpriteBatch batch;
Stage stage;
Label labelNewGame, labelContinue, labelCredits;

public ScreenMenu(MyGame myGame) {
    this.myGame = myGame;
}

@Override
public void show() {
    init();
    BitmapFont font = initFont();
    initLabels(font);
    initStage();
}

private void init() {
    batch = new SpriteBatch();
}

private BitmapFont initFont() {
    return new FontLoader().getMichroma();
}

private void initLabels(BitmapFont font) {
    Label.LabelStyle labelStyle = new Label.LabelStyle(font, Color.WHITE);
    labelNewGame = new Label("New Game", labelStyle);
    labelContinue = new Label("Continue", labelStyle);
    labelCredits = new Label("Credits", labelStyle);
}

private void initStage() {
    stage = new Stage(new ScreenViewport());
    Gdx.input.setInputProcessor(stage);
    stage.addActor(labelNewGame);
}

@Override
public void render(float delta) {
    GlHelper.clearScreen();
    stage.act(delta);
    stage.draw();
}

@Override
public void resize(int width, int height) {
    stage.getViewport().update(width, height, true);
}

@Override
public void pause() {

}

@Override
public void resume() {

}

@Override
public void hide() {
    dispose();
}

@Override
public void dispose() {
    myGame.dispose();
    batch.dispose();
    stage.dispose();
}
}

Следующий класс содержит функцию clearScreen. Если я его не запускаю, весь экран становится очень глючным, но я вижу Новая игра.

public class GlHelper {

public static void clearScreen() {
    Gdx.gl.glClearColor(0, 0, 0, 0);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
}

public static void clearScreen(float red, float green, float blue, float alpha) {
    Gdx.gl.glClearColor(red, green, blue, alpha);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
}
}
10.04.2015

Ответы:


1

Ты используешь?

установить границы (х, у, ш, ч);

прежде чем добавить этап, например:

labelNewGame.setBounds(0, 0, 100, 100);

может он тебе поможет.

10.04.2015

2

Я чувствую себя глупо сейчас. В реализации FontLoader я установил цвет FreeTypeFontParameter на Color.BLACK. По-видимому, он переопределяет аргумент Color.WHITE из LabelStyle.

10.04.2015
Новые материалы

HMTL - Многозадачное обучение для решения задач НЛП
Достижение результатов SOTA путем передачи знаний между задачами Область обработки естественного языка включает в себя десятки задач, среди которых машинный перевод, распознавание именованных..

Решения DBA Metrix
DBA Metrix Solutions предоставляет удаленного администратора базы данных (DBA), который несет ответственность за внедрение, обслуживание, настройку, восстановление базы данных, а также другие..

Начало работы с Блум
Обзор и Codelab для генерации текста с помощью Bloom Оглавление Что такое Блум? Некоторые предостережения Настройка среды Скачивание предварительно обученного токенизатора и модели..

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..