1

私は Java と libgdx の初心者であり、そこで重要なことを理解していません。タッチ(マウス)イベントを取得しようとしています。以下のコードに数行を追加する前に、私のコード例は問題なく動作しました。

    ...
import com.badlogic.gdx.Input.Buttons;
import com.badlogic.gdx.InputProcessor;
...
public class Game implements ApplicationListener /*, InputProcessor*/
...
@Override
public void create() 
{
    Gdx.input.setInputProcessor(this); 
    //*** ERROR:setInputProcessor(InputProcessor) in the type Input
    //is not applicable for the arguments Game
    ...
}
...

    @Override
    public boolean touchDown (int x, int y, int pointer, int button) { 
        //*** ERROR: The method touchDown(int, int, int, int) of type Game 
        //must override or implement a supertype method     

        Gdx.app.log("Input Test", "touch down: " + x + ", " + y + ", button: " +
           getButtonString(button));
        return false;
    }
  }
}

この例を使用 しました 「クラスInputTestはGdxTestを拡張します」と書かなければならないのでしょうか?しかし、「import com.badlogic.gdx.tests.utils.GdxTest;」を挿入するとエラーが発生しました。

インターネット上の多くの例では、プロジェクトに追加する必要がある「インポート」行とライブラリ名はありません。誰かがそれを見つける方法を説明できますか?

ありがとう

4

1 に答える 1

2

最初のエラー

ERROR:setInputProcessor(InputProcessor) in the type 
Input is not applicable for the arguments Game

thisタイプの参照を渡していますGameが、オブジェクトGdx.input.setInputProcessorへの参照であるパラメーターが必要ですInputProcessor

2 番目のエラーを完全に理解するには、オーバーライドについて理解する必要があります。http: //www.tutorialspoint.com/java/java_overriding.htm を参照してください。

コメントimplements InputProcessorを外すと、そのエラーが解消されます。

于 2012-05-20T04:49:33.437 に答える