簡體   English   中英

如何檢測libgdx中何時觸及actor?

[英]How to detect when an actor is touched in libgdx?

我在我的Screen方法的render方法中使用“Gdx.input.isTouched()”來知道觸摸的位置,但是當在屏幕上拖動觸摸時,它也會激活我想要的事件,只有當一個actor被觸摸時。

是否有任何聽眾知道何時觸及一個Actor,但事件不是被拖動的,我用精靈來做。

在LibGDX中查看有關scene2d的 Wiki頁面。 特別是關於輸入處理的部分。

基本上你必須在Actor中覆蓋這些方法中的一個或多個:

public boolean touchDown (float x, float y, int pointer) {
    return false;
}

public void touchUp (float x, float y, int pointer) {
}

public void touchDragged (float x, float y, int pointer) {
}

public boolean touchMoved (float x, float y) {
    return false;
}

public boolean scrolled (int amount) {
    return false;
}

public boolean keyDown (int keycode) {
    return false;
}

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

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

在libGDX中, Actor里面有一個監聽器。 例如,如果要檢查按鈕是否按下,或者是檢查,則調用: button.isPressed()button.isCheck() ,它返回布爾值。

我認為您必須實現以下方法之一來僅檢測單次觸摸而不是用戶執行的移動事件。

Gdx.input.justTouched();

當你有多個演員時,我認為你在舞台上控制。

暫無
暫無

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

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