Координаты Scene2D

265
07 марта 2017, 14:43

Я использую FitViewport с виртуальным размером 1920х1080.

viewport = new FitViewport(AssetLoader.VIRTUAL_WIDTH, AssetLoader.VIRTUAL_HEIGHT);
stage = new Stage(viewport);

Также есть кастомный актер, унаследованный от класса Actor. Ниже приведен код его конструктора.

public MyActor(String text, float x, float y) {
    this.text = text;
    FreeTypeFontGenerator generator = new FreeTypeFontGenerator(AssetLoader.robotoFontFile);
    FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
    parameter.size = 96;
    font = generator.generateFont(parameter);
    generator.dispose();
    layout = new GlyphLayout();
    layout.setText(font, text);
    super.setBounds(x, y, layout.width, layout.height);
    this.debug();
    renderer = new ShapeRenderer();

    this.addListener(new InputListener(){
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            Gdx.app.log("MyActor", text + " is touched!");
            return true;
        }
    });
}

И переопределенный метод draw:

public void draw(Batch batch, float parentAlpha) {
    super.draw(batch, parentAlpha);
    batch.end();
    renderer.begin(ShapeRenderer.ShapeType.Line);
    this.drawDebugBounds(renderer);
    renderer.end();
    batch.begin();
    font.draw(batch, text, getX(), getY());
}

Проблема заключается в том, что при запуске получается это:

А нажатие срабатывает, только если жать внутрь зеленого прямоугольника, хотя подразумевалось, что зеленый прямоугольник и текст будут накладываться.

Возможно, проблема с трансляцией, но ничего годного я не смог найти, подскажите, пожалуйста.

Answer 1

Самым простым решением оказалось добавить высоту текста к его y-координате:

font.draw(batch, text, getX(), getY() + layout.heigth);
READ ALSO
Скрыть панель навигации и состояния

Скрыть панель навигации и состояния

Как скрыть панель навигации и состояния, что бы как в играх оно выходило когда ты проводишь пальцем с нижней части экрана на вверх а не при...

249
Вывод изображений из папки drawable?

Вывод изображений из папки drawable?

Как вывести все изображение из папки drawable? Долго гуглил и искал, единственное решение которое нашел тут:

246
Вопрос об округлении (round half to even)

Вопрос об округлении (round half to even)

Объясните плиз эту таблицу и подписи к ней:

264
IntelliJ Idea не видит переменную, созданную только что

IntelliJ Idea не видит переменную, созданную только что

Недавно после установки Intellij Idea 20163

292