Android Open Source - ShootEmOff Android Orientation Handler






From Project

Back to project page ShootEmOff.

License

The source code is released under:

Copyright (c) 2011 Andrey Moiseev, http://o2genum.ru Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),...

If you think the Android project ShootEmOff listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.shootemoff.framework.impl;
/*w  ww  .  j  a va  2  s . c o m*/
import android.hardware.*;
import android.content.Context;

public class AndroidOrientationHandler implements OrientationHandler,
      SensorEventListener
{
  SensorManager manager;
  Sensor sensor;
  float azimuth = 0.0F;

  public AndroidOrientationHandler(Context context)
  {
    manager = 
      (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
    sensor = manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
    manager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_GAME);
  }

  public void onAccuracyChanged(Sensor sensor, int accuracy)
  {
    // Nothing to do
  }

  public void onSensorChanged(SensorEvent event)
  {
    /* Now it works using accelerometer, not orientation
     * sensor. Because:
     *
     * Fivos Asimakop wrote:
     *
     * Try an alternative of the controls with the azimuth. In my
     * experience most devices lose their calibration easily and the azimuth
     * is not to be trusted. Especially after deprecating the orientation
     * sensor. How about using an accelerometer reading? Or the rotation
     * vector when android version is 2.3 and above?
     */

    azimuth = (float) (Math.atan2((double) event.values[1],
        (double) event.values[0]) / (Math.PI *2) * 360);
  }

  @Override
  public float getAzimuth()
  {
    return azimuth;
  }
}




Java Source Code List

com.shootemoff.framework.Audio.java
com.shootemoff.framework.FileIO.java
com.shootemoff.framework.Game.java
com.shootemoff.framework.Graphics.java
com.shootemoff.framework.Input.java
com.shootemoff.framework.Pool.java
com.shootemoff.framework.Screen.java
com.shootemoff.framework.Sound.java
com.shootemoff.framework.Vibration.java
com.shootemoff.framework.impl.AndroidAudio.java
com.shootemoff.framework.impl.AndroidFastRenderView.java
com.shootemoff.framework.impl.AndroidFileIO.java
com.shootemoff.framework.impl.AndroidGame.java
com.shootemoff.framework.impl.AndroidGraphics.java
com.shootemoff.framework.impl.AndroidInput.java
com.shootemoff.framework.impl.AndroidOrientationHandler.java
com.shootemoff.framework.impl.AndroidSound.java
com.shootemoff.framework.impl.AndroidVibration.java
com.shootemoff.framework.impl.KeyboardHandler.java
com.shootemoff.framework.impl.MultiTouchHandler.java
com.shootemoff.framework.impl.OrientationHandler.java
com.shootemoff.framework.impl.SingleTouchHandler.java
com.shootemoff.framework.impl.TouchHandler.java
com.shootemoff.game.ControlPad.java
com.shootemoff.game.Core.java
com.shootemoff.game.Dot.java
com.shootemoff.game.GameActivity.java
com.shootemoff.game.GameOverActivity.java
com.shootemoff.game.GameScreen.java
com.shootemoff.game.OptionsObject.java
com.shootemoff.game.Point.java
com.shootemoff.game.ScoreBoardActivity.java
com.shootemoff.game.ScoreObject.java
com.shootemoff.game.SettingsActivity.java
com.shootemoff.game.StartScreenActivity.java
com.shootemoff.game.StorageHandler.java
com.shootemoff.game.VectorF.java
com.shootemoff.game.World.java