1

我无法检查何时释放我的游戏手柄(XBox)。当我第一次按下按钮时,我得到 pollData = 1.0,释放它后,我得到 pollData = 0.0。

使用模拟棒我没有像 pollData = 0.0 这样的事件

提前感谢您的帮助!

4

1 回答 1

1

鉴于您已经将轴作为

Component component;

(通过测试确保它是一个轴

if(component.isAnalog())

然后你可以通过调用获得位置

component.getPollData()

返回值将介于 -1 和 1 之间。-1 为左/下,+1 为右/上,取决于 component.getIdentifier() 是否等于 Component.Identifier.Axis.X 或 Component.Identifier.Axis.Y。

所以你可以做类似的事情

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 回答