Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 7th, 2012  |  syntax: None  |  size: 1.57 KB  |  hits: 15  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. // AccelerometerData.h
  2.  
  3.  
  4. // Things missing
  5. // The ability to adjust the frequency or the wobble factor
  6. // the frequency maybe should tie into the fps of the game
  7.  
  8.  
  9. #import <UIKit/UIKit.h>
  10.  
  11.  
  12. @interface AccelerometerData : NSObject <UIAccelerometerDelegate>
  13. {
  14.         UIAccelerationValue     xyzUnitVectors[3];
  15. }
  16.  
  17. - (AccelerometerData *) init;
  18.  
  19. - (void) accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)Acceleration;
  20.  
  21. - (void) GetXVector:(double *) unitVector;
  22. - (void) GetYVector:(double *) unitVector;
  23. - (void) GetZVector:(double *) unitVector;
  24.  
  25. @end
  26.  
  27. // AccelerometerData.mm
  28.  
  29. #import "AccelerometerData.h"
  30.  
  31.  
  32. @implementation AccelerometerData
  33.  
  34.  
  35. - (AccelerometerData *) init
  36. {
  37.         [[UIAccelerometer sharedAccelerometer] setUpdateInterval:(1.0 / 60)];
  38.         [[UIAccelerometer sharedAccelerometer] setDelegate:self];
  39.  
  40.         return self;
  41. }
  42.  
  43.  
  44.  
  45. - (void) accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)Acceleration
  46. {
  47.         double factor = 0.3;
  48.  
  49.         // This is to smooth out the wobbles
  50.         xyzUnitVectors[0] = (Acceleration.x * factor) + (xyzUnitVectors[0] * (1 - factor));
  51.         xyzUnitVectors[1] = (Acceleration.y * factor) + (xyzUnitVectors[1] * (1 - factor));
  52.         xyzUnitVectors[2] = (Acceleration.z * factor) + (xyzUnitVectors[2] * (1 - factor));
  53. }
  54.  
  55.  
  56.  
  57. - (void) GetXVector:(double *)unitVector
  58. {
  59.         *unitVector = (double)xyzUnitVectors[0];
  60. }
  61.  
  62.  
  63. - (void) GetYVector:(double *)unitVector
  64. {
  65.         *unitVector = (double)xyzUnitVectors[1];
  66. }
  67.  
  68.  
  69. - (void) GetZVector:(double *)unitVector
  70. {
  71.         *unitVector = (double)xyzUnitVectors[2];
  72. }
  73.  
  74.  
  75. @end