Елки выключен - в вашем ч файла вам необходимо сделать следующие переменные:
UIAccelerationValue accelerationX;
UIAccelerationValue accelerationY;
float currentRawReading;
float calibrationOffset;
Кроме того, убедитесь, что ваш файл h имеет:
@interface myViewName : UIViewController <UIAccelerometerDelegate>
Тогда в вашем .m файле j усть ниже вашего импорта в верхней ГОВОРЯ:
#define kFilteringFactor 0.05
CGFloat DegreesToRadians(CGFloat degrees) {return degrees * M_PI/180;};
CGFloat RadiansToDegrees(CGFloat radians) {return radians * 180/M_PI;};
Затем в файле .m на вашем viewDidLoad Функция положить:
UIAccelerometer *accel = [UIAccelerometer sharedAccelerometer];
accel.delegate = self;
accel.updateInterval = 1.0f/60.0f;
также добавить следующую функцию в файл .m:
-(void) accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration{
accelerationX = acceleration.x * kFilteringFactor + accelerationX * (1.0 - kFilteringFactor);
accelerationY = acceleration.y * kFilteringFactor + accelerationY * (1.0 - kFilteringFactor);
// keep the raw reading, to use during calibrations
currentRawReading = atan2(accelerationY, accelerationX);
float rotation = -RadiansToDegrees(currentRawReading);
targetView.transform = CGAffineTransformMakeRotation(-(DegreesToRadians(rotation)));
//targetView.transform = CGAffineTransformRotate(targetView.transform, -(rotation * 3)); //if you want easing
}
вам придется немного подстроить его в зависимости от того, какой вид или объект вы нацеливаете, но это в значительной степени.
Надеется, что это помогает,
Майкла
Обратите внимание, что это касается обычных приложений для iOS. Для cocos2d все объекты CCLayer уже соответствуют UIAccelerometerDelegate, и вам просто нужно установить node.isAccelerometerEnabled = YES, а затем создать акселерометр: DidAccelerate: метод, как обычно. Обратитесь к http://www.cocos2d-iphone.org/wiki/doku.php/tips%3ausing_accelerometer_for_sprite_movement. Однако вам, вероятно, следует отфильтровать показания акселерометра, как показал Майкл О'Брайен. Подробнее об этом см. Http://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/MotionEvents/MotionEvents.html. – aiham