邊境自從我在Libgdx發展相當新的,我想問一下,如果它可以使圖像的邊界(如選擇將其標記)使用它嗎?我讀過一個解決方案是製作2個獨立的圖像:一個帶有邊框,另一個沒有。然而,我所有的圖像都是相同的大小,並且有很多圖像,所以不知道它是不是最好的想法。還有其他選擇嗎?圖片在libgdx
編輯
所以我選擇了第二個想法(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 //點擊按鈕的邊緣
如果你將延伸 –