gpt4 book ai didi

java - TextButton isPressed() 不起作用

转载 作者:行者123 更新时间:2023-12-01 09:52:56 26 4
gpt4 key购买 nike

我在使用 scene2d 时遇到问题。我已经以编程方式创建了一个 TextButton (没有 json 文件),并且由于某种原因,当我按下它时 isPressed() 不会返回 true 。不仅如此,我还设置了 TextButtonStyle 的 downFontColor,但它也没有执行任何操作。这是我第一次使用 scene2d,所以我还是个新手。而且我正在安卓上进行测试。

我使用一个扩展TextButton的自定义类,它与问题无关,它只是一个空类。更不用说我已经在文本按钮上测试了它。这是类(class):

MainMenu,我在其中创建舞台:

public MainMenu(Main main) {

this.main = main;

font_neutral = Tools.generateFont(Gdx.files.internal("Fonts/Android.ttf"), Color.WHITE, 150);

initViewport();

//Scene2D
GlyphLayout glyphLayout = new GlyphLayout(); //Used for getting width/height of textButton. Set text, then get width

TextButton.TextButtonStyle style = new TextButton.TextButtonStyle();
style.font = font_neutral;
style.fontColor = new Color(1, 1, 1, 1);
style.downFontColor = new Color(40, 130, 100, 1);
style.checkedFontColor = Color.BLUE;

CustomTextButton button_play = new CustomTextButton("Play", style);
glyphLayout.setText(style.font, "Play");
float x = camera.viewportWidth / 3 - glyphLayout.width / 2;
float y = camera.viewportHeight / 2 - glyphLayout.height / 2;
button_play.setPosition(x, y);
button_play.setTouchable(Touchable.enabled);

stage = new Stage(viewport);
stage.addActor(button_play);
}

@Override
public void show() {

}

public void update(float delta) {

stage.act(delta);


}

@Override
public void render(float delta) {
update(delta);

Gdx.gl.glClearColor(1, 1, 1, 0);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
Gdx.gl.glEnable(GL20.GL_BLEND);

stage.draw();

}

再次感谢!

最佳答案

Stage是一个InputProcessor,你需要告诉LibGDX监听Stage。初始化 Stage 后放置 Gdx.input.setInputProcessor(stage)

关于java - TextButton isPressed() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37494163/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com