1

ゲームパッド (XBox) のスティックがいつ解放されるかを確認するのに問題があります。ボタンを最初に押すと、pollData = 1.0 になり、離すと pollData = 0.0 になります。

アナログ スティックでは、pollData = 0.0 のようなイベントはありません。

助けてくれてありがとう!

4

1 に答える 1

1

すでに軸を

Component component;

(テストで軸であることを確認する

if(component.isAnalog())

次に、呼び出すことで位置を取得できます

component.getPollData()

返される値は -1 から 1 の間です。component.getIdentifier() が Component.Identifier.Axis.X または Component.Identifier.Axis.Y に等しいかどうかに応じて、-1 は左/下、+1 は右/上です。

だからあなたは次のようなことができます

bool xReleased = false, yReleased = false;
Component[] components = controller.getComponents();
for(Component component : components) {
    if(component.isAnalog()) { //test that controller is analog
        Identifier id = component.getIdentifier();
        float axisPosition = component.getPollData(); //range: -1 to 1
        if(id == Component.Identifier.Axis.X && axisPosition == 0)
            xReleased = true;
        if(id == Component.Identifier.Axis.Y && axisPosition == 0)
            yReleased = true;
    }
}

if(xReleased && yReleased) {
    //do something...
}
于 2014-01-09T23:11:11.120 に答える