iPhone - запуск сцены cocos2d из viewcontroller, закрытие изнутри сцены - PullRequest
1 голос
/ 17 февраля 2011

Как мне это сделать?

На одном из моих UIViews (файл пера) у меня есть ImageView и кнопка, которая запускает полноэкранную сцену Cocos2d.Из этой сцены я хочу закрыть ее и вернуться в UIView, чтобы пользователь мог позже открыть сцену снова , но из другого изображения в ImageView (и с другим содержимым на сцене).

Однако после того, как я в первый раз «закрыл» сцену, все приложение реагирует намного медленнее на все сенсорные события.Она работает быстро, пока сцена включена, но когда она закрыта, производительность снижается.

Как правильно закрыть сцену, чтобы я мог ее снова запустить?Я просмотрел много примеров кода и везде просто replaceWithScene:newScene.

1 Ответ

0 голосов
/ 16 августа 2011

Добавление UIView в viewController, в котором находится работающий слой openGL, замедляет работу приложения, как вам скажет любой, кто пытался встроить UIScrollView в игру Cocos2D.Вы закрываете сцену, но, вероятно, не останавливаете CCDirector, который теперь запускает свой собственный планировщик в стороне от планировщика приложения.Поскольку они борются за доминирование над процессором, OpenGL неизменно побеждает, поскольку ему требуется больше энергии чаще.

Убедитесь, что вы полностью закрываете cocos2D и OpenGL.Даже если вызывается только [[CCDirector sharedDirector] пауза].

...