当前位置: 首页>>代码示例>>Java>>正文


Java MotionRange类代码示例

本文整理汇总了Java中android.view.InputDevice.MotionRange的典型用法代码示例。如果您正苦于以下问题:Java MotionRange类的具体用法?Java MotionRange怎么用?Java MotionRange使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


MotionRange类属于android.view.InputDevice包,在下文中一共展示了MotionRange类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: onGenericMotion

import android.view.InputDevice.MotionRange; //导入依赖的package包/类
@Override
public boolean onGenericMotion(View v, MotionEvent event) {
    if ((event.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0
            && event.getAction() == MotionEvent.ACTION_MOVE) {
        List<MotionRange> motionRanges = event.getDevice().getMotionRanges();
        for(MotionRange mr : motionRanges){
            int axis = mr.getAxis();
            if(event.getAxisValue(axis) > 0.5 || event.getAxisValue(axis) < -0.5){
                Log.i(TAG, "Axis found: " + MotionEvent.axisToString(axis));
                this.mAxisName = MotionEvent.axisToString(axis);
                mValueTextView.setText(mAxisName);
            }
        }
    }else{
        Log.i(TAG, "Not a joystick event.");
    }
    return true;
}
 
开发者ID:bitcraze,项目名称:crazyflie-android-client,代码行数:19,代码来源:AxisMappingDialogPreference.java

示例2: getAxisValue

import android.view.InputDevice.MotionRange; //导入依赖的package包/类
private float getAxisValue(MotionEvent motionEvent, int axis) {
    InputDevice device = InputDevice.getDevice(mDeviceId);
    if (device == null) {
        return 0f;
    }

    MotionRange range = device.getMotionRange(axis, motionEvent.getSource());
    if (range == null) {
        return 0f;
    }

    final float flat = range.getFlat();
    final float value = motionEvent.getAxisValue(axis);
    if (Math.abs(value) > flat) {
        return value;
    }

    return 0f;
}
 
开发者ID:wildsmith,项目名称:TickTank_old,代码行数:20,代码来源:GamepadController.java

示例3: processAxis

import android.view.InputDevice.MotionRange; //导入依赖的package包/类
/**
* Normalizes joystick values between -1.0 and 1.0. Though Android guarantees
* this, it is a useful function if one finds that the joystick values are not
* correct. Doesn't do any harm to call it.
*/
public static float processAxis(InputDevice.MotionRange range, float axisvalue) 
/*************************************************************************/
{
    float absAxisValue = Math.abs(axisvalue);
    float deadZone = range.getFlat();
    if (absAxisValue <= deadZone)
    {
        return 0.0f;
    }
    float normalizedValue;
    if (axisvalue < 0.0f) 
    {
        normalizedValue = absAxisValue / range.getMin();
    } 
    else 
    {
        normalizedValue = absAxisValue / range.getMax();
    }

    return normalizedValue;
}
 
开发者ID:willowgarage,项目名称:shield_teleop,代码行数:27,代码来源:JoystickNode.java

示例4: dispatchGenericMotionEvent

import android.view.InputDevice.MotionRange; //导入依赖的package包/类
@Override
public boolean dispatchGenericMotionEvent(MotionEvent event) {
    int source = event.getSource();

    if ((source & InputDevice.SOURCE_JOYSTICK) != InputDevice.SOURCE_JOYSTICK) {
        return false;
    }
    mHorizontalFactor = event.getAxisValue(MotionEvent.AXIS_X);
    mVerticalFactor = event.getAxisValue(MotionEvent.AXIS_Y);

    InputDevice device = event.getDevice();
    MotionRange rangeX = device.getMotionRange(MotionEvent.AXIS_X, source);
    if (Math.abs(mHorizontalFactor) <= rangeX.getFlat()) {
        mHorizontalFactor = event.getAxisValue(MotionEvent.AXIS_HAT_X);
        MotionRange rangeHatX = device.getMotionRange(MotionEvent.AXIS_HAT_X, source);
        if (Math.abs(mHorizontalFactor) <= rangeHatX.getFlat()) {
            mHorizontalFactor = 0;
        }
    }
    MotionRange rangeY = device.getMotionRange(MotionEvent.AXIS_Y, source);
    if (Math.abs(mVerticalFactor) <= rangeY.getFlat()) {
        mVerticalFactor = event.getAxisValue(MotionEvent.AXIS_HAT_Y);
        MotionRange rangeHatY = device.getMotionRange(MotionEvent.AXIS_HAT_Y, source);
        if (Math.abs(mVerticalFactor) <= rangeHatY.getFlat()) {
            mVerticalFactor = 0;
        }
    }
    return true;
}
 
开发者ID:PacktPublishing,项目名称:Android-Game-Programming,代码行数:30,代码来源:GamepadInputController.java


注:本文中的android.view.InputDevice.MotionRange类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。