Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Проблема сохранения сцены cocos2d

Автор вопроса: WaJiyazОтветов: 2

В моем приложении есть сцена, в которой всего две метки и пункт меню. Когда я загружаю эту сцену с помощью метода replaceScene, она остается на 3-4 секунды, а затем исчезает или освобождается. Я хочу сохранить его до тех пор, пока не будет нажата кнопка отмены. Как мне это сделать? код:

@implementation MyLayer

+ (id)myScene {

    CCScene *aScene = [CCScene node];
    MYLayer *myLayer = [MyLayer node];
    [aScene addChild:myLayer];

    return aScene;
}
- (id) init {

    if (self = [super init]) {
           //labels and menu here
    }
    return self;
}

И я вызываю его из другой сцены так:

[[CCDirector sharedDirector] replaceScene: [MyLayer myScene]];
  • В коде, который вы разместили, нет ничего плохого, поэтому он должен быть где-то еще... Lukman 24.03.2011
  • @Lukman: Спасибо за рассмотрение вопроса, но я давно его решил. Я использую pushScene вместо replace, и он отлично работает :) WaJiyaz 24.03.2011

releaseuibuttonscenecocos2d-iphone

Ответы

Ответ 1 · Andrew

Может проблема в том, что это твоя первая сцена. Затем вы должны использовать runWithScene метод CCDirector.

Ответ 2 · Coke2Code

Вы пытались заменить эту сцену "пустой" функцией инициализации, чтобы увидеть, освобождает ли она себя? Это может быть из-за количества текстур, которые вы помещаете в память.

Раньше у меня были похожие проблемы, потому что изображения, используемые в новой сцене, слишком велики и автоматически очищались делегатом моего приложения, поэтому иногда возвращали мне пустую сцену.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы