[英]Getting actor position with its padding
我想獲取Actor在InputListener中的位置。 問題是,但是我得到的正確位置不包括演員墊。 我怎么能得到這個?
// MenuBar class extends Table
defualts().pad(5.0f);
Label label = new Label(name, labelStyle);
add(label);
menuGroup.setup(label)
// MenuGroup class
public void setup(Actor actor) {
actor.addListener(changeListener)
}
private void setListeners() {
changeListener = new ChangeListener() {
private Vector2 pos = new Vector2();
public void changed(ChangeEvent event, Actor actor) {
pos.set(0, 0);
pos = actor.localToStageCoordinates(pos);
mainMenu.setPosition(pos.x, pos.y);
show();
}
};
如果您確定actor在Table內 (並且當您的類擴展該表時應該在這里),則可以只轉換其父級,然后獲取pad值。 例如,要獲得左墊的值,您只需使用:
float padLeft = ( (Table) actor.getParent() ).getPadLeft();
然后,您可以獲取所有墊板的周圍(上,左,下,右)並用其修改位置,這將使您包括墊板的位置。
請記住,位置是根據 actor 左下角的位置計算的,因此您只需要左墊和底墊值即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.