簡體   English   中英

Java LIBGDX,從另一個類調用InputHandler的TouchDown方法

[英]Java LIBGDX, Calling InputHandler's TouchDown method from another class

我剛開始使用LibGDX和Java,需要一些幫助。 我在從inputhandlers類調用觸地得分方法時遇到問題。

這是一個InputHandler類:

public class InputHandler implements InputProcessor {
private Bird myBird;
private GameWorld myWorld;

public InputHandler(GameWorld myWorld) {

   this.myWorld = myWorld;
   myBird = myWorld.getBird();
}

@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {

    if (myWorld.isReady()) {
        myWorld.start();
    }

    myBird.onClick();

    if (myWorld.isGameOver() || myWorld.isHighScore()) {
        // Reset all variables, go to GameState.READ
        myWorld.restart();
    } 
    return true;
}

@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 touchUp(int screenX, int screenY, int pointer, int button) {
    return false;
}

@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;
}

}

我想我的GameScreen類調用TouchDown方法,因為我創建了一個帶有scene2d的舞台和一個actor(button)。 希望您能理解我的問題,也非常感謝您的幫助。

我想您尚未將此類的實例設置為InputProcessor

嘗試

InputHandler handler = new InputHandler(world);
Gdx.input.setInputProcessor(handler);

如果要設置多個InputProcessor ,則可以使用InputMultiplexer

這是api鏈接


這個主題維基似乎也非常有用。

希望這可以幫助。
祝好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM