
Untitled
By: a guest on
May 7th, 2012 | syntax:
None | size: 1.57 KB | hits: 15 | expires: Never
// AccelerometerData.h
// Things missing
// The ability to adjust the frequency or the wobble factor
// the frequency maybe should tie into the fps of the game
#import <UIKit/UIKit.h>
@interface AccelerometerData : NSObject <UIAccelerometerDelegate>
{
UIAccelerationValue xyzUnitVectors[3];
}
- (AccelerometerData *) init;
- (void) accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)Acceleration;
- (void) GetXVector:(double *) unitVector;
- (void) GetYVector:(double *) unitVector;
- (void) GetZVector:(double *) unitVector;
@end
// AccelerometerData.mm
#import "AccelerometerData.h"
@implementation AccelerometerData
- (AccelerometerData *) init
{
[[UIAccelerometer sharedAccelerometer] setUpdateInterval:(1.0 / 60)];
[[UIAccelerometer sharedAccelerometer] setDelegate:self];
return self;
}
- (void) accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)Acceleration
{
double factor = 0.3;
// This is to smooth out the wobbles
xyzUnitVectors[0] = (Acceleration.x * factor) + (xyzUnitVectors[0] * (1 - factor));
xyzUnitVectors[1] = (Acceleration.y * factor) + (xyzUnitVectors[1] * (1 - factor));
xyzUnitVectors[2] = (Acceleration.z * factor) + (xyzUnitVectors[2] * (1 - factor));
}
- (void) GetXVector:(double *)unitVector
{
*unitVector = (double)xyzUnitVectors[0];
}
- (void) GetYVector:(double *)unitVector
{
*unitVector = (double)xyzUnitVectors[1];
}
- (void) GetZVector:(double *)unitVector
{
*unitVector = (double)xyzUnitVectors[2];
}
@end