gpt4 book ai didi

java - LibGDX 按钮在触摸时没有响应

转载 作者:行者123 更新时间:2023-11-30 02:15:58 26 4
gpt4 key购买 nike

我的第一个问题是文本字段没有显示,第二个问题是按钮没有响应。我的想法是,当触摸图像“vault1”时,文本字段应显示 5。

这是我想出来的,我不知道我做错了什么。

(我只剪掉了必要的代码)

public void render(float delta) {

drawSprite("vault1", 600, 450);
}

public void show() {

Gdx.input.setInputProcessor(stage);
skin = new Skin(Gdx.files.internal("ui/menuSkin.json"), new TextureAtlas("ui/atlas.pack"));

vaultInput = new TextField("", skin);
vaultInput.setPosition(300, 250);
vaultInput.setSize(300, 40);
vaultInput.setText(text2);
vault1Button = new Image(vault1);

vault1Button.addListener(new ClickListener() {
public boolean touchDown(InputEvent e, float x, float y, int point, int button) {
System.out.println("133");
vaultInput.setText(score);
return false;
}});
}

private void drawSprite(String name, float x, float y) {
Sprite sprite = textureAtlas.createSprite(name);

sprite.setPosition(x, y);

sprite.draw(batch);
vault1 = sprite;
}

最佳答案

很难判断您何时遗漏了代码,但您正在将阶段添加到输入处理器:

 Gdx.input.setInputProcessor(stage);

舞台和添加到舞台的 Actor 现在是唯一响应输入的东西。但是您永远不会向舞台添加任何内容,也不会绘制舞台,而是在 drawSprite 方法中单独绘制 Sprite 。

如果您将按钮添加到舞台,您所需要做的就是调用 stage.draw():

public void render(float delta) {
stage.draw();
stage.act(delta);
}

public void show() {
Gdx.input.setInputProcessor(stage);
skin = new Skin(Gdx.files.internal("ui/menuSkin.json"), new TextureAtlas("ui/atlas.pack"));


vaultInput = new TextField("", skin);
vaultInput.setPosition(300, 250);
vaultInput.setSize(300, 40);
vaultInput.setText(text2);
vault1Button = new Image(vault1);


vault1Button = new Image(vault1);



vault1Button.addListener(new ClickListener() {
public boolean touchDown(InputEvent e, float x, float y, int point, int button) {
System.out.println("133");
vaultInput.setText(score);
return false;
}});
vaultInput.setPosition(x1, y1);
vault1Button.setPosition(x2, y2);
stage.addActor(vaultInput);
stage.addActor(vault1Button);
}

调用 stage.draw() 时,将绘制添加到舞台的所有内容

关于java - LibGDX 按钮在触摸时没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48444670/

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