我目前正在使用 LibGDX 创建游戏,并且正在创建我的标题屏幕。我在屏幕上将 TextButtons 居中时遇到问题,如果将 TextButton 的宽度设置为舞台的宽度,我可以使它们居中正常,但随后单击该按钮从左到右的任何位置都允许按下按钮而不是如果您只需单击按钮本身。
我怎样才能让 TextButtons 以游戏屏幕为中心并彼此居中?我有三个文本按钮(新游戏、继续和退出游戏)。
任何帮助将不胜感激,谢谢!
编辑:
这是我的三个按钮的代码。
btnNG = new TextButton("New Game", btnStyle[0]) {
{
setName("New Game");
addListener(new InputListener() {
public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) {
g.debugOut(btnNG.getName(), "touchDown?");
return true;
}
public void touchUp(InputEvent e, float x, float y, int pointer, int button) {
g.debugOut(btnNG.getName(), "touchUp?");
//g.switchScreen(new Mainscreen(g));
}
});
setWidth(sTitle.getWidth());
setPosition(0, (getHeight() * 2.5f));
}
};
btnContinue = new TextButton("Continue", btnStyle[0]) {
{
setName("Continue");
addListener(new InputListener() {
public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) {
g.debugOut(btnContinue.getName(), "touchDown?");
return true;
}
public void touchUp(InputEvent e, float x, float y, int pointer, int button) {
g.debugOut(btnContinue.getName(), "touchUp?");
}
});
setWidth(sTitle.getWidth());
setPosition(0, (getHeight() * 1.4f));
}
};
btnExit = new TextButton("Exit Game", btnStyle[0]) {
{
setName("Exit Game");
addListener(new InputListener() {
public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) {
g.debugOut(btnExit.getName(), "touchDown?");
return true;
}
public void touchUp(InputEvent e, float x, float y, int pointer, int button) {
g.debugOut(btnExit.getName(), "touchUp?");
//Gdx.app.exit();
}
});
setWidth(sTitle.getWidth());
setPosition(0, (getHeight() * .3f));
}
};
这就是我到目前为止所拥有的,它是居中的,但是这样做可以通过按屏幕上实际文本左侧/右侧的任意位置来单击它。