マウスが押されたときではなく、マウスがクリックされたときを取得しようとしています。つまり、コードをループで使用し、マウスが押されたかどうかを検出すると、コードが長時間実行されますが、マウスがクリックされたときにコードを1回だけ実行したいということです。
これは私のコードです:
if (Gdx.input.isButtonPressed(Input.Buttons.LEFT)){
//Some stuff
}
を使用できますGdx.input.justTouched()
。これは、マウスがクリックされた最初のフレームに当てはまります。または、他の回答が示すように、InputProcessor (または InputAdapter) を使用してtouchDown
イベントを処理できます。
Gdx.input.setInputProcessor(new InputAdapter() {
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
if (button == Buttons.LEFT) {
// do something
}
}
});