Я надеялся на некоторую помощь в этом, так как я действительно застрял после попытки исправить это в течение нескольких дней.
По сути, мое приложение имеет анимацию OpenGL ES, которая называется levelsView, которая отображается, как толькооно открылось.Вот код, который запускает мою анимацию на контроллере вида:
- (void)animate
{
levelsView.animationInterval = 1.0 / 60.0;
[levelsView startAnimating];
[levelsView release];
}
Контроллер вида также имеет кнопку переключения, которая позволяет пользователю изменять анимацию.Код, который отображает другую анимацию, приведен ниже:
- (IBAction) Switch: (id) sender {
SnowFallViewController* vce = [[[SnowFallViewController alloc] initWithNibName:@"SnowFallViewController"
bundle:nil] autorelease];
[self presentModalViewController:vce animated:YES];
}
Также здесь представлен код, запускающий вторую анимацию на втором контроллере представления:
- (void)viewDidLoad {
[super viewDidLoad];
CGRect rect = [[UIScreen mainScreen] bounds];
window = [[UIWindow alloc] initWithFrame:rect];
GLViewController *theController = [[GLViewController alloc] init];
self.controller = theController;
[theController release];
GLView *glView = [[GLView alloc] initWithFrame:rect];
[window addSubview:glView];
glView.controller = controller;
glView.animationInterval = 1.0 / kRenderingFrequency;
[glView startAnimation];
[glView release];
[window makeKeyAndVisible];
}
По сути,У меня проблема в том, что я не могу заставить обе анимации работать в одном и том же приложении, т.е. когда приложение загружено, первая анимация работает, но когда пользователь нажимает кнопку «Переключить», он получает только пустой экран вместо второй анимации..
Одна вещь, которую я заметил, заключается в том, что вторая анимация будет работать, если я не запускаю первую анимацию, т.е. если я попал в код анимации и удалил [levelsView startAnimating]; затемвторая анимация будет работать (но, очевидно, первая не будет).
Кто-нибудь, кто знает, как я могу это исправить, чтобы я мог заставить обе анимации работать?
Спасибо,
Дейв