===== Auto-rotating a game ===== //Note: If you're using the Scaffold project of Sparrow 1.3 or 2.x, auto-rotation is already prepared for you. Find out all about it [[manual:The Scaffold Project|here]].// If your game should support different orientations and be updated automatically when you rotate your device, that's easy to do. As described [[using_landscape_mode|here]], you achieve the best performance if you don't rotate the complete SPView, but only the content within Sparrow. Have a look at that tutorial to see how it's done. ==== Get notified of orientation changes ==== First, tell iOS that you want to be notified when the device's orientation changes. Put the following code in the init-method of your game class: [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onDeviceOrientationChanged:) name:@"UIDeviceOrientationDidChangeNotification" object:nil]; ==== React on those changes ==== Then add the following method to the same class: - (void)onDeviceOrientationChanged:(UIEvent *)event { UIDeviceOrientation deviceOrientation = [UIDevice currentDevice].orientation; UIInterfaceOrientation interfaceOrientation = (UIInterfaceOrientation)deviceOrientation; // don't remove this, even if you're not displaying the status bar! // it has some positive side effects. [[UIApplication sharedApplication] setStatusBarOrientation:interfaceOrientation]; // update your game contents here, as described above NSLog(@"Device Orientation changed: %i", deviceOrientation); } Whenever the device is now turned, that method gets called, and you can update the screen accordingly. //(Note that ''UIDeviceOrientationLeft'' corresponds to ''UIInterfaceOrientationRight''. Looks strange, but it's not an error.)// If you want to support just a subset of those orientations, modify the method accordingly: - (void)onDeviceOrientationChanged:(UIEvent *)event { UIDeviceOrientation deviceOrientation = [UIDevice currentDevice].orientation; if (deviceOrientation == UIDeviceOrientationPortrait || deviceOrientation == UIDeviceOrientationPortraitUpsideDown) { // etc. } } That should do it!