Back to project page study-android-fallballgame.
The source code is released under:
Apache License
If you think the Android project study-android-fallballgame listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package jp.hym.falingballgamge; /* ww w .j a va 2 s . com*/ import java.util.List; //import com.example.graffitimessage.SensorValue; //import android.app.Activity; import android.content.Context; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; //import android.util.EventLog.Event; //import android.widget.TextView; public class InclinationSensor{ SensorManager mSensorManager; Sensor mMagSensor; Sensor mAccSensor; SensorValue mSensorValue; private float roll; //??? private float picth; //??? public InclinationSensor(Context context, int ori){ mSensorValue = new SensorValue(ori); mSensorManager = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE); } public void getInclination(){ // ?????????? List<Sensor> sensors = mSensorManager.getSensorList(Sensor.TYPE_ALL); // ???????????????????(implements SensorEventListener???????this?????????) for (Sensor sensor : sensors) { if( sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD){ mSensorManager.registerListener(mSendorLis, sensor, SensorManager.SENSOR_DELAY_UI); mMagSensor = sensor; } if( sensor.getType() == Sensor.TYPE_ACCELEROMETER){ mSensorManager.registerListener(mSendorLis, sensor, SensorManager.SENSOR_DELAY_UI); mAccSensor = sensor; } } } //?????? public void releaseSensor(){ //???????????????????? if (mMagSensor!=null || mAccSensor!=null) { mSensorManager.unregisterListener(mSendorLis); mMagSensor = null; mAccSensor = null; } } //???? private SensorEventListener mSendorLis = new SensorEventListener() { public void onSensorChanged(SensorEvent event) { mSensorValue.onSensorChanged(event); roll = (float)mSensorValue.getRollDegree() ; picth = (float)mSensorValue.getPitchDegree() ; //direction = (float)mSensorValue.getAzimuthDegree(); } public void onAccuracyChanged(Sensor sensor, int accuracy){ } }; float GetRoll(){ if(roll > 90.0f){ roll = 180 - roll; }else if(roll < -90.0f){ roll = -180 - roll; } return roll; } public float GetPicth(){ return picth; } }