我不明白一些libgdx编译错误

时间:2012-05-20 04:21:39

标签: java libgdx

我是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;
    }
  }
}

我使用了this example 也许我必须写“类InputTest扩展GdxTest”? 但是如果我插入“import com.badlogic.gdx.tests.utils.GdxTest;”我就会收到错误。

在互联网上的许多例子中都没有“导入”行 和库名称,应添加到项目中。 任何人都可以解释如何找到它吗?

由于

1 个答案:

答案 0 :(得分:2)

第一个错误

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

您传入的this引用类型为Game,但Gdx.input.setInputProcessor需要一个引用InputProcessor对象的参数

为了完全理解第二个错误,您需要了解Overriding 见http://www.tutorialspoint.com/java/java_overriding.htm

如果您取消注释应该摆脱该错误的implements InputProcessor