Я использую 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());
}
Проблема заключается в том, что при запуске получается это:
А нажатие срабатывает, только если жать внутрь зеленого прямоугольника, хотя подразумевалось, что зеленый прямоугольник и текст будут накладываться.
Возможно, проблема с трансляцией, но ничего годного я не смог найти, подскажите, пожалуйста.
Самым простым решением оказалось добавить высоту текста к его y-координате:
font.draw(batch, text, getX(), getY() + layout.heigth);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как скрыть панель навигации и состояния, что бы как в играх оно выходило когда ты проводишь пальцем с нижней части экрана на вверх а не при...
Как вывести все изображение из папки drawable? Долго гуглил и искал, единственное решение которое нашел тут:
Недавно после установки Intellij Idea 20163