gpt4 book ai didi

java - 将 inputListener 添加到纹理

转载 作者:行者123 更新时间:2023-11-29 05:37:44 24 4
gpt4 key购买 nike

我用 libgdx 写了一个游戏。一切正常,除了一件事:

当玩家失败时,屏幕上会显示“游戏结束”纹理。我想为游戏添加一个“点击屏幕重新启动”功能,但为此,我需要将一个 eventListener 附加到整个纹理。

这可能吗?如果没有,我该怎么办?

编辑:

这是我的纹理声明和使用:

声明:

private final Texture gameOver;

创建()方法:

gameOver = new Texture(Gdx.files.internal("data/pali/BROKE.png"));
gameOver.setFilter(TextureFilter.Linear, TextureFilter.Linear);

渲染()方法:

//rest of the method ommited for clarity
spriteBatch.draw(gameOver, 0, 0);

最佳答案

这实际上比我想象的要容易。我只需要在类中实现 InputProcessor 并生成缺少的方法。之后,我在类(class)中使用了 az InputListener,因此我可以在整个屏幕上收听事件。

public class GameScreen implements Screen, InputProcessor  {
// ...
// rest of the class ommited for clarity
@Override
public boolean keyDown(int keycode) {
return false;
}

@Override
public boolean keyUp(int keycode) {
return false;
}

@Override
public boolean keyTyped(char character) {
return false;
}

@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
return true;
}

@Override
public boolean touchUp(int screenX, int screenY, int pointer, int button) {
if(gameOver){
clearGame();
}
return true;
}

@Override
public boolean touchDragged(int screenX, int screenY, int pointer) {
return false;
}

@Override
public boolean mouseMoved(int screenX, int screenY) {
return false;
}

@Override
public boolean scrolled(int amount) {
return false;
}
// ...
}

关于java - 将 inputListener 添加到纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18880980/

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