Поскольку я довольно новичок в разработке Libgdx, я хотел бы спросить, можно ли использовать границы изображения (чтобы отметить его как выбранный)? Я читал, что одним из решений является создание двух отдельных изображений: один с рамкой и один без. Однако все мои изображения имеют одинаковый размер, и многие из них так не знают, является ли это лучшей идеей. Есть ли другие варианты?Граница изображения в libgdx
EDIT
Так я выбрал второй идея (1x1 изображение), но есть некоторые проблемы с ним. Прежде всего, я не могу заставить этот элемент borderImage находиться под щелчком. Другой проблемой является размер borderImage (это не то же самое). Когда я нажимаю в центре кнопки его меньший (около пары пикселей), чем когда я нажимаю на край. Знаете ли вы, что может вызвать эти проблемы и как их исправить? Код:
public void create(){
stage = new Stage();
Gdx.input.setInputProcessor(stage);
skin = new Skin(Gdx.files.internal("data/uiskin.json"));
Texture borderTexture = new Texture(Gdx.files.internal("data/select.png"));
final Image borderImage = new Image(borderTexture);
TextButton exitButton = new TextButton("Exit",skin);
exitButton.addListener(new ClickListener(){
public void clicked(InputEvent event, float x, float y)
{
borderImage.setSize(event.getTarget().getWidth() + 1 * 2, event.getTarget().getHeight() + 1 * 2);
Vector2 loc = new Vector2(0, 0);
Vector2 stageLoc = event.getTarget().localToStageCoordinates(loc);
borderImage.setPosition(stageLoc.x, stageLoc.y);
System.out.println("" + event.getTarget().getWidth() + " " +event.getTarget().getHeight() + " " + event.getTarget().getX() +
" " + event.getTarget().getY() + " " + stageLoc.x + " " + stageLoc.y);
stage.addActor(borderImage);
}
}
);
Table table = new Table();
table.add(exitButton).colspan(3);
table.setFillParent(true);
stage.addActor(table);
}
И выход я есть: 29,0 25,0 4,0 1,0 466,0 257,0 // щелкнул в центре кнопки 37,0 27,0 462,0 256,0 462,0 256,0 // нажал на край кнопки
если вы будете растягивать границы изображения не будет регулярным (при масштабировании, например, от прямоугольных до густого многоугольника) –